Fix compiler warning (git_off_t cast to size_t).

Use size_t for page size, instead of long. Check result of sysconf.
Use size_t for page offset so no cast to size_t (second arg to p_mmap).
Use mod instead div/mult pair, so no cast to size_t is necessary.
describe: add example
tree-cache: correct the entry_count calculation

The entry_count field is the amount of index entries covered by a
particular cache entry, that is how many files are there (recursively)
under a particular directory.

The current code that attemps to do this is severely defincient and is
trying to count the amount of children, which always comes up to zero.

We don't even need to recount, since we have the information during the
cache creation. We can take that number and keep it, as we only ever
invalidate or replace.
Merge pull request #2634 from libgit2/cmn/tree-cache-count

tree-cache: correct the entry_count calculation
Remote paths: canonicalize UNC paths on Win32

Git for Windows will handle UNC paths only when in forward-slash
format, eg "//server/path".  When given a UNC path as a remote,
rewrite standard format ("\\server\path") into this ridiculous
format.
Merge pull request #2619 from ethomson/remotes_with_unc

Remote paths: canonicalize UNC paths on Win32
Merge pull request #2617 from linquize/describe-example

describe: add example
Add a test to make sure a new snapshot has the new value.
Change the length of the file so that the change is picked up.
Patch from @carlosmn to refresh the parent config before snapshotting.
ssl: dump the SSL ciphers in favour of TLS

All versions of SSL are considered deprecated now, so let's ask OpenSSl
to only use TLSv1. We still ask it to load those ciphers for
compatibility with servers which want to use an older hello but will use
TLS for encryption.

For good measure we also disable compression, which can be exploitable,
if the OpenSSL version supports it.
Merge pull request #2625 from libgit2/cmn/ssl-tls

ssl: dump the SSL ciphers in favour of TLS
Merge pull request #2622 from libgit2/refresh-config-snapshot

Refresh git configuration before looking for the tracking branch redux.
config: remove the refresh function and backend field

We have been refreshing on read and write for a while now, so
git_config_refresh() is at best a no-op, and might just end up wasting
cycles.
hash: use CommonCrypto on OSX for SHA-1

OSX has its own cryptographic library, let's make use of it instead of
calling out to OpenSSL.
remote: delete git_remote_supported_url()

This function does not in fact tell us anything, as almost anything with
a colon in it is a valid rsync-style SSH path; it can not tell us that
we do not support ftp or afp or similar as those are still valid SSH
paths and we do support that.
remote: accept a repo and name for renaming

Remote objects are not meant to be changed from under the user. We did
this in rename, but only the name and left the refspecs, such that a
save would save the wrong refspecs (and a fetch and anything else would
use the wrong refspecs).

Instead, let's simply take a name and not change any loaded remote from
under the user.
Merge pull request #2644 from libgit2/cmn/remove-supported-url

remote: delete git_remote_supported_url()
clar: use a custom temp directory name
Fixed memory leak in git_tag_delete()