Update the TODO list

Most memory allocations are checked but the dump() function needs more thought
No need to chcek metadata_content allocation twice
Replace a bunch of assert() calls with error codes

If the metadata is somehow broken we should return MMDB_INVALID_DATABASE
instead of aborting.