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'
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'
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'
Added new requirement 'mock' - this helps us keep the unit tests from failing because of the server cache.
Merge branch 'jswan2' into working

Conflicts:
	views/search.py
Merge branch 'master' of git://github.com/abztrakt/spotseeker_server
Fixed an issue with returning all spots as an improperly formatted string (for the admin app)