[stackprotector] Implement the sspstrong rules for stack layout.
This changes the PrologueEpilogInserter and LocalStackSlotAllocation passes to
follow the extended stack layout rules for sspstrong and sspreq.
The sspstrong layout rules are:
- Large arrays and structures containing large arrays (>= ssp-buffer-size)
are closest to the stack protector.
- Small arrays and structures containing small arrays (< ssp-buffer-size) are
2nd closest to the protector.
- Variables that have had their address taken are 3rd closest to the
protector.
Differential Revision: http://llvm-reviews.chandlerc.com/D2546