Error messages, try/catch blocks, and shared preferences

* Catch failed JSON connection and provide error message
* Catch (fix) reset calibration on beacons in production map and provide error message
* Save IP address between sessions
* Provide error message when desired username is taken