Fix location detection failures:
The building triangulation is skipped if our location is (0.0, 0.0) — that’s our null value
The way we do the location is finding the 'last current location': we don't actively search.
Earlier device crashes were caused by a null pointer exception when myLocation was null.
Now, the methodology looks for the GPS location, then the Network Provider location if the
first GPS location failed. If both of those fail, the location finder exits gracefully.