Make version_git.sh work on older versions of git.

The --count option to git-rev-list was introduced in git version 1.7.x
for 1 < x < 12. When base/version_git.sh is run on versions of git
without this option, a long help message is generated (cluttering up
make output) and generating an incorrect base/version_git.jl.
version_git.sh: cope with wcs that emit whitespace.

Some versions of wc (notably the one supplied by OS X) prepend
whitespace to the output of `wc -l`, breaking the indentation of the
generated version_git.jl. We strip this using only tr(1) features
specified in
http://pubs.opengroup.org/onlinepubs/9699919799/utilities/tr.html.
Replace calls to tr with calls to sed

We're already using sed elsewhere in the script.
Remove hard-coded Windows installation paths

- For Git, shouldn't need to look in Program Files since Windows Julia bundles Git.
- MinGW is a build-time dependency, not a user dependency. These path additions were the only reason test/spawn.jl could ever execute successfully outside of MSYS. This is a problem that can be addressed separately, and the solution should not rely on a hard-coded installation path of MSYS1.
- Python should only be needed by packages, or at build time for LLVM. Wouldn't a better solution involve PYTHONPATH or PYTHONHOME, or manage this on a package level when Python is required?
Fix error when filename is null

Seen occasionally on Windows when running test/file.jl
correct handling of integer values for sinpi, as per IEEE-754 2008
make sinpi,cospi,sind,cosd type stable for Float32
add tests for signed zeros
add tests for type stability
add type assertions to test
add calls to jl_exception_clear to interface functions with try blocks

this prevents swallowed exceptions from appearing as errors when you
call jl_exception_occurred.
use LLVM intrinsic for sqrt. helps #6112
ispow2: much more efficient implementationon modern machines.

The other approach was useful for old systems that didn't have any
popcnt instruction, but modern CPUs – in particular x86 – have it.
This is also much faster for BigInts since it can be computed with-
out creating any new BigInt objects.
Merge pull request #6149 from simonbyrne/sinpi

correct handling of integer values for sinpi, as per IEEE-754 2008
doc: excise nonexistent svds (Fix #6159)
patch up error behavior of sqrt after 244ec92f55bb5433898c5a859a0cb452aafa1673
export jl_null and jl_subtype. fixes #6156
fix #6161
Use similar instead of Array when allocating new arrays.
Correct singular/plural mismatch