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
bump libgit2 to v0.21.2
Type promotion for keys and values for Dict merge

Discussed in #8877.
Mention update to machinefile in `NEWS`.
Merge pull request #8888 from wavexx/machinecount_news

Mention update to machinefile in `NEWS`.
Define eltype for Factorizations
rename String => AbstractString
fix Dict syntax deprecation warnings

somehow the one for `[a=>b]` stopped working entirely
Fix #8874