IsInitialized shouldn't be settable from outside
Improve CheckInitialized()

- Throw more appropriate exception
- Improve message
Improve RegisterAsync

- Return value is now false for not hitting the bridge button. Exceptions
  should not be used for non-exceptional situations or control flow. HTTP
  errors will automatically throw, and any errors we don't recognize as
  well are now manually thrown.
- Internals improved to utilize and parse JSON instead of hand
  constructions and searches.
- Separate the application's key from the name of the app.
Update README
Merge pull request #9 from ermau/initialization-cleanup

Register and Initialization cleanup