Support host count in machinefile

- Support the syntax `[user@]host[:port][*count] [bind_addr]` in the
  machinefile.
- Initial code just re-writes the list fed to addprocs() by repeating the host
  as specified, so there is no user-visible change.
Move the host count to the beginning: [count*]...
add hexfloat (%a) support for printf
Avoid undefined checks for types that are always fully initialized
Build libgit2 as a dependency, for now requiring CMake
Add libgit2 to the default build
Add OPTS and start tracking libgit2's HEAD
Bump libgit2 to 0.21.0
Fix the Makefile for Linux

Linux uses puts the version at the end of the soname, while OS X puts
it in the middle. Also, case issues.
`make install` now correctly installs libgit2
fixes for Windows cross-compile
add quotes around $(CC) for libgit

also move libgit2 license link to the right section,
and remove command-line git from Versions.make
only send base compiler name to cmake
add a stub test to check libgit2 library version
add cmake and libgit2 info to README.md
also add cmake instructions to README.windows.md

remove notes about issues that should be fixed
make the seed of a MersenneTwister be always a Vector{Uint32}

MersenneTwister's constructor making an instance with an Uint32 seed
was removed in commit 4fb4622f5c. But a subsequent call to
srand(r::MersenneTwister, seed) would only accept an Uint32 as a seed,
and would always make r.seed an Uint32; this was not consistent.
add more methods srand(::MersenneTwister, ...)

The srand methods working on a MersenneTwister instance did not catch
up with those working on the global RNG. They are now made similar
thanks to the make_seed function, which implements the different
logics.
Also, the manual is more precise on the types of valid seeds.
add more methods rand(rng, ...)

And similarly for rand!, randbool.
Fixes #8360.
Keep track of number of initialized fields and avoid undefined checks