SoA arg support and bug fixes in sequential_llvm

Note that if directly specifying a kernel directly as an LLVM string
(as opposed to a C string), using OP2_STRIDE(a, b) will not work. This
is because LLVM has no support for macros; Clang takes care of this for
us when we translate a C kernel.

Also, C kernels declared as "static inline" (such as some of those in
the direct loop test suite) should now work. All direct loop test cases
now pass with the sequential_llvm backend.