Add code to filter out duplicate cells and wifis on submission, cc #168.
Centralize and enhance normalization of cell, cellmeasure dicts, cc #168.
Centralize and enhance normalization of wifi, wifimeasure dicts, cc #168.
As per discussion in meeting: don't reject entire batch of wifis on one bad key.

The old logic grew as a shortcut to detecting when we were receiving old
style SHA1s from fennec. That never happens anymore and in any case it
does not hurt too much to test each wifi in a batch for validity.
Tighten range on asu and ta.
Inhibit mapstat update if we get no data.
Add testcase for normalization of cell measures.
Normalize name of normalization function.
Move convert_frequency logic into models.py, replace freq table.
Move normalization test from slow db-level to fast dict-level, add wifi test.
Clean up flake8 deviations, close #168.
Address review comments.
Add normalization check to create_wifi_measure, close #142.
Add test that races and loses.
Modify update_lac to be harmless when losing the race, close #190.
Cleanup whitespace in Makefile.
Add test that sends empty body.
Handle empty body, close #191.
Merge pull request #194 from graydon/bug-190-scan-lacs-races-with-update-cell-location

Bug 190 scan lacs races with update cell location
Compensate for differences of opinion with other tests of empty request bodies.