Added support for function-wide invariants.
For each array generate axiom with meta-data
Clang format
Handle alloca where a single element is allocated

While we are here tighten the checks on alloca
to give an error for variants of the call that
we currently do not handle.
Merge branch 'master' into llvm-trunk