Rename error codes to be more readable and make them positive numbers
Make MMDB_open return the status code so we can do something useful with failures

This means that MMDB_open now takes a pointer to an MMDB_s struct instead of
allocating one by itself.
Start of new tests with more helpers