1191 Simulation Mode

This adds a simulation mode to satisfy #1191.

This needs a testcase to verify that the application context being passed from the ScanManager down to GPSScanner, WifiScanner and CellScanner gets properly wrapped with the SimulationContext, but this branch should merge cleanly to dev.

Let's just merge it in and add more tests along the way.
Yes.   We need to clear GPSScanner, WifiScanner and CellScanner and set them to be null values on stop of the ScanManager.  The ScanManager::startScanning method grabs the application context and wraps it up with a SimulationContext so that there is a place to obtain the simulation data.

Now that I write this, we don't really have to do this anymore since I've added the service locator code.  We could just inject something like the SimulationContext into the service locator.