Features/957 merge dev

This is a test merge, I probably still have some overly verbose logging in here, but I no longer get the weird "No coverage overlay" behavior.

I ended up ripping out the Apache DefaultHttpClient code that osmdroid uses to fetch tiles  and replaced it with the newer URLConnection code in android.  This seems to handle connection timeout and socket drops better.

This branch adds among other things:

* a hardcoded 300 second cache control layer before attempting to do a conditional get on a tile
* conditional get on tiles based on etags

I think the main problem with the coverage overlay disappearing is the way that we are manipulating high/low zoom overlays.  I'd rather we just instantiate all 4 overlays at once, and I can conditionally enable/disable the tile loader as well as the renderer instead of swapping out the pointers.