index: reuc and name entrycounts should be size_t

For the REUC and NAME entries, we use size_t internally, and we take
size_t for the get_byindex() functions, but the entrycount() functions
strangely cast to an unsigned int instead.
Merge pull request #2775 from ethomson/index_entrycounts

index: reuc and name entrycounts should be size_t
Introduce test for checkout case-changing rename
Always checkout with case sensitive iterator

On a case-insensitive filesystem, we need to deal with case-changing
renames (eg, foo -> FOO) by removing the old and adding the new,
exactly as if we were on a case-sensitive filesystem.

Update the `checkout::tree::can_cancel_checkout_from_notify` test, now
that notifications are always sent case sensitively.
don't treat 0x85 as whitespace

A byte value of 0x85 is not whitespace, we were conflating that with
U+0085 (UTF8: 0xc2 0x85).  This caused us to incorrectly treat valid
multibyte characters like U+88C5 (UTF8: 0xe8 0xa3 0x85) as whitespace.
global: include sys/openssl.h for GIT_EXPORT of fn

The openssl setup function needs to be GIT_EXPORT'ed, be sure
to include the `sys/openssl.h` header so that it is appropriately
decorated as an export function.
Merge pull request #2779 from ethomson/openssl_export

global: include sys/openssl.h for GIT_EXPORT of fn
Merge pull request #2778 from ethomson/whitespace_85

don't treat 0x85 as whitespace
Merge pull request #2772 from ethomson/case_changing_rename

Case changing rename