Add counters for response types, factor out some heka message checking in tests

This PR primarily addresses bug #172, adding some new counters to the search and geolocate APIs so we can see the relative ratio of wifi/cell/geoip/miss responses we're giving back.

In passing (and thereby constituting the majority of _code_ in this PR) I noticed that there was a lot of test logic (in some cases either redundant or mis-commented) for checking heka messages in a relatively small set of patterns. So I factored out the assertions into a helper in `ichnaea.tests.base.HekaIsolation` along the way.

The helper is a little more "dynamic type magical" than I'm usually comfortable with -- two levels of type-directed sub-argument dispatch -- but it covers the main set of match scenarios we were doing with relatively clear logic and is, in any case, optional and only used in tests. Hopefully it's tolerable; it makes the testcases themselves much more legible and I think it'll improve the odds of adding heka-checks to tests.