SPOT-272: fixes behavior for sorting by distance when no center is given
500 error is no longer thrown when more than 20 spots are requested

fixes SPOT-635

if <20 spots are requested, the exact spots are returned, and if
>20 spots are requested, only 20 are returned and no 500 error is
thrown. also, a 400 error is now thrown if distance, lat, or long
are specified but not all 3.
auto completed model fields return auto in the spot schema

fixes SPOT-645

https://docs.djangoproject.com/en/dev/howto/custom-model-fields/
Merge branch 'craig'
Merge branch 'spot645'
SPOT-580: caching of spot jsons so we don't build the same json for each request
SPOT-580: modified existing tests to use the dunmmy cache (as they don't test for caching behavior)
SPOT-580: Moved json caching logic to the spot model methods
wrote a test for when info is put to a spot with invalid info

refs SPOT-653

currently, the spot is completely deleted if the info is not
valid - which is dumb. trying to fix it.
Merge branch 'craig'
SPOT-658: Updated tests that use dummy caching to import and mock models instead of views
Merge branch 'master' of git://github.com/abztrakt/spotseeker_server

Conflicts:
	test/search/capacity.py
Merge branch 'master' into json-caching

Conflicts:
	test/hours/put.py
spots wont be deleted on PUTs if the extended info fails validation

fixes SPOT-653
Merge branch 'spot653'
POSTing no longer leaves blank spots if extended info is invalid

fixes SPOT-653

fixed PUTting with invalid extended info in the last commit, but
that broke POSTing, so this fixes both. also provided unit tests
for POSTing in addition to the PUT one in the last commit
Merge branch 'spot653'
SPOT-659: All tests that could inadvertently store use the cache now explicitly use dummy cache
SPOT-657: Admin bulk delete method overridden to use model method (so cache is updated)
SPOT-656: added a test class that tests json caching behaviour