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
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!
Fix #5459

This combines the .o emission code from #5787 with some error checking code
for cpuid mismatch. When releasing a binary, set JULIA_CPU_TARGET to "core2"
(we discussed that this is a reasonable minimum) in your Make.user and
everything should work just fine.
Add Please delete or regenerate sys.{so,dll,dylib}'' to all the error messages
Move -D_FILE_OFFSET_BITS back to CFLAGS

These should really go in CPPFLAGS, but apparently on mingw, there's defines
in the stdio headers that rename the function (rather than doing it on a symbol lelve), so we can't use this when we include LLVM headers. Anyway, as long as
we don't call the IO functions from C++ we should be fine.
Add newlines to error messages
cpuid -> jl_cpuid
don't hardcode bash path

On FreeBSD, bash is in /usr/local/bin/.
Move jl_cpuid
WINDOWS: fix redirect_stdio to TTY
Merge pull request #6220 from JuliaLang/kf/cpuid

Fix #5459
formatting fixes
fix #6202 (strtod.c error on centos5)