check and report api key first in search/geolocate code

make sure we also count not found or error cases
Mangle dots as underscores in api key reporting, to avoid nesting in graphite.

Graphite uses dots as an indication of hierarchy. Using double underscores
should allow us to distinguish keys in most cases. Using single underscores
might happen, two should be rare enough.
Start reporting api key stats for the submit API
Count and report no API key requests for search/geolocate API's.