MeteorClient: Remove implementation details from API

* Remove all private properties from public API and make them either
  readonly or private ivars.
* Document the new blocks-based method API
* Rename asyncCallback type (should be prefixed, should start with
  uppercase character)
* Create private header for Parser implementation details. Now +Parsing
  and the .m file can share declarations without them being public.
* Use modern ObjC syntax for arrays and dicts
* Update tests to match
Notif: "connected" ordering issue

Can't tell the world we're connected until we've told ourselves.

This broke a state machine in my app that assumed that connected should be
YES when that notification comes in, since that's when it tries to log in.
Merge branch 'apicleanup' of https://github.com/lookback/ObjectiveDDP into lookback-apicleanup
Use objc enum syntax and adjust code style.
Style tweaks, update async connection error test to use enum
websocketReady is public again

- Maintain compatibility with Example app
- It might make sense to make this private in the future but it would nicer to create a state enum to
collapse the various (connected, loggedIn, userIsLoggingIn, websocketReady) states that are currently present
- Also includes various style adjustments