Refactor boilerplate test code, add 500 error test
Add surprising HTTP status test
Add accept-charset test
Add bad content-type test
Add undeserializable JSON test
Add address not found test
Add address reserved test
Add auth tests
Add out of queries test
Add doc comments for new exception
Add positive tests to improve test coverage, add IGeoIP2Provider interface