Sort include lines
Use MAP_FAILED macro to check mmap result
Copy the sin_addr.s_addr struct member rather than the whole sin_addr struct

In practice, these are the same since sin_addr always starts with s_addr, but
this is a little clearer.
We have to convert the result of getaddrinfo into network byte order when calling MMDB_lookup_by_ipnum()
Add a thorough lookup test

This tests IPv4 & IPv6 lookups for all record sizes. It also tests lookups in
databases with _just_ IPv4, _just_ IPv6, and both.