Begin work on adding RPC support:
  - Add the Call method for invoking a remote RPC
  - Have the HELLO message include the roles
  - Add a WaitForSession method which waits for the session WELCOME message. Callers can use this to make sure a valid session exists before starting RPC calls.
Add Authentication to Realm

- Basic Authentication and Challenge-Response authentication
Fix broken websocket test

- extract common functionality into a mini reflection library
- made reflection code a lot more robust
- wrote basic test for apply to test slices
Merge pull request #52 from josephschorr/v2-rpc

Begin work on adding RPC support
Merge pull request #53 from beatgammit/v2

Fix broken websocket test
Add the ability to register and receive invocations of local RPC methods. Note that this CL does not yet have testing.
- Add a CallResult struct and helper methods for easily construction CallResult's in RPC handlers
- Fix client to only return the roles instantiated
- Handle errors in RPC handlers
- Add a client test suite that tests HELLO, CALL and REGISTER.
Added BinaryData type with a custom JSON marshal/unmarshal

- marshals/unmarshals according to the spec:
  https://github.com/tavendo/WAMP/blob/master/spec/basic.md#binary-conversion-of-json-strings
- issue #49
Merge pull request #56 from beatgammit/v2

Added BinaryData type with a custom JSON marshal/unmarshal
Omit empty args/kwargs

- resolves #44
Merge pull request #57 from beatgammit/omitempty

Omit empty args/kwargs
Merge pull request #55 from josephschorr/v2-rpc

Add the ability to register and receive invocations of local RPC methods
Finish initial authentication implementation (#33)

* introduces significant changes to work done on #48
* reworked client connection process:
  * Client connects to server with `NewWebsocketClient`, then
  * Client joins realm with `JoinRealm` or `JoinRealmAuth`
* added an example for authentication
Add missing options fields to pub/sub messages

- fixes #59
Add missing details map in Goodbye messages

- fixes #60
Add the ability for the client to leave a realm