Rewrite geotags queries to use INNER JOIN

Fixes #584. Because Django insisted on using an OUTER JOIN, we now
do the queries manually. Only one fast query is needed for geo
queries. Some additional changes to make sure every query only looks
at sounds with processing and moderation states are OK
Serve json as application/json, not text/plain
Merge pull request #590 from MTG/geotags

Geotags speedups
explicitly create and return json on _box

Currently the _box function does a regular django query and creates
a geotag object, so we need to use that instead of the raw lat/lon
Merge remote-tracking branch 'origin/geotags'
Remove one more select by username
Merge remote-tracking branch 'origin/sound_speed'
Merge branch 'master' into apiv2