Change subscription behavior to be more flexible and simpler to use.

The RPC calls in particular are nice now - no more need to subscribe yourself before using the rpc methods.

The login call now logs in immediately returning you a promise of the result.  Future requests still build off of that promise so there's no worry of sending an unauthorized request.