There is a lot of customization and eventually code duplication in the
frame lowering that handles special SGPR spills like the Frame Pointer.
Incorporating any additional register spill currently makes it difficult.
This patch introduces a custom spill builder to handle the special SGPR
spills exclusively. Various spill methods are special handled using a
separate class.