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
Inplace reduction functions

Inplace reduction functions (including sum!, prod!, maximum!, minimum!, all!, and any!) have been within the Base for a while. This PR exports them with a modified interface that is safe & flexible.
add documentation for sum! and friends
add an entry to NEWS.md about the reduction functions that allow pre-allocated output
add the link to 6197 in news
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
replace unbox warning with an assertion

this code is fine and the warning is not needed.
Merge pull request #6197 from lindahua/dh/inplacesum

Reduction functions with pre-allocated output storage.
remove jl_get_exception_str. fixes #6199

a better name for this function would be jl_cause_segfault().
Merge branch 'master' of github.com:JuliaLang/julia
Update package generation for changes in #6191
fix typos
Merge pull request #6206 from catawbasam/patch-3

fix typos
Typo
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()
fix 'parse("immutable X end")' show bug
add mean!, which allows pre-allocated output
Make sure tests will work after #6205

Pkg.generate() will start creating a test/runtests.jl so need the tests
to cope with that