Decode double-encoded JSON in event 'data' property

The `data` property on events in the Pusher protocol is double-encoded JSON (with the exception of the error event [bug]). The pusher-java-client presently passes that double-encoded JSON to the `onEvent` method of the listener.

This pull request changes the behaviour of the `SubscriptionEventListener.onEvent` so that the message/data is now just JSON (a level of encoding is removed).

cc: @rdpfeffer