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.
Address review comments.
Minor tidy up.
Merge pull request #193 from graydon/bug-168-bogus-data-filtering

Issue #168 and associated commentary, centralize and enhance model normalization, also fix for #142