Adds static_asserts to ensure alignment of concatenated objects is
correct, and fixes them where they are not.
Some const-correctness changes snuck in here too, since they were in the
area of code I was modifying.
This seems to make Clang actually work without Bus Error on 32bit
sparc.
Android i386 build sets ScopeStackAlignment = 4 and breaking the build - http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-android/builds/742
Could you handle this use case or consider reverting the CL?