Jhbate/stability

### Goal: 
better error handling so we have a chance of finding and fixing errors in Blip

- if any errors are caught then in the first instance try and log it to the server so we have a hope of tracking it down
- move error messages to a common file. This gives the ability to do comparisons and change the content of the actual error message later. It also makes it much easier to to compare the language we are using
- add extra context to messages being logged
- give appropriate details based on the error that we have caught / found 

@kentquirk  @nicolashery @jebeck @ianjorgensen 
Did you leave this in intentionally? ;)