Make ip_version a uint8_t

I don't see IPv256 coming out any time soon
Rename record_info struct to record_info_s for consistency
Put string error in diag, not mmdb error code
Add an IPv4 start node cache - all tests pass
Run uncrustify on code
Don't regen prototype for strndup in maxminddb_test_helper.c
When we calculate the IPv4 start node, we also need to know the netmask where we found it

This fixes the case of when a database has a subnet that contains the entire
IPv4 search range, for example ::/64.

Added tests for this.