Clear all allocated bytes in ByteArray::create

This makes sure there are no non zero bytes in the resulting memory,
which could result in information leakage for example that people would
not expect.
Use a larger stack buffer when filling IOBuffer

Increases performance of reading IO, for example for File.read
Introduce ByteArray::create_dirty and use where safe

This allocates a ByteArray without zero'ing all the memory. This is for
example useful when used in String::create, where the memory will be
overwritten anyway. Other cases are where ByteArray used as backing
store for Bignum and Regexp.
Increase default IOBuffer size to 32k

Results in another significant performance increase for File.read, since
it has to flush the buffer fewer times.
Don't include llvm/Module.h twice
Sort LLVM includes for coming LLVM 3.3 support
Support unreleased LLVM 3.3 using svn trunk

LLVM 3.3 is still not released. So, note that LLVM's API may change further and
break buidling Rubinius with LLVM 3.3.