Add @simd support.
This is a collective commit that supercedes the earlier commits for @simd.
Update to work with LLVM 3.4 too (in addition to LLVM 3.3)
Generialize @simd loops to one dimensional ranges instead of requiring a:b syntax.
Fix names of some TBAA nodes.
Fix spelling in comment.
Add missing semicolon for MCJIT variant of codegen.cpp.
Remove tbaa_decorate from load/stores of local vars described by jl_arrayvar_t.
Treat loading of string pointer as tbaa_const.
Improve hoisting of size intrinsic.
Document @simd as experimental.
Add the ability to install test dependencies and run tests to Pkg

`Pkg.test("PackageName")` will install a package's test dependencies
(marked with `@test` in the REQUIRES file) then run its tests. If the
tests fail or there is no run_tests.jl provided then an error is raised.
make test a named argument in Reqs.parse
Merge branch 'adr/simdloop' of github.com:ArchRobison/julia into ArchRobison-adr/simdloop
Fix macro name for @sprintf errors

Also fix triggering condition for "format must be a plain static string"
error
use test/REQUIRE and test/runtests.jl as discussed in pull request
Update docs and clean up test dependencies after running tests

It turns out that doing a Pkg.resolve() after a Pkg.test() cleans up the
test dependencies. May aswell do this at the end of test() as it is
going to happen at somepoint anyway.

Also updated the stdlib docs to cover Pkg.test()
Make sure tests will work after #6205

Pkg.generate() will start creating a test/runtests.jl so need the tests
to cope with that
replace tabs with spaces
remove using Base.Test
move clean-up resolve() into test!