Initial change to WebSocket

Modified AppRTC Client to use HTTP REST authentication API and
WebSocket SVMP proxy service instead of plain sockets.
Modified state machine, switched 'AUTH' and 'CONNECTED' states,
removed 'READY' state.
Modified AuthData and auth modules to create a JSON object instead
of an AuthRequest.
Other small modifications.
Added SecureWebSockets module

Added snapshot of GitHub project as an Android library module:
https://github.com/preplay/SecureWebSockets
HEAD: 0f0c228
Updated to use SecureWebSockets

Removed AndroidAsync library because it didn't support TLSv1.1+.
Converted code to use SecureWebSockets instead.
Fixed bug where failing authentication would not result in a new
prompt.
Added SSL support for HttpClient

Had forgotten SSL for HttpClient.
Also updated some comments and the gradle buildfile.
Updated for REST API change
Fixed Protobuf delimiting issues

Client is using WebSocket (built-in delimiting), while VM is using
regular Socket (utilizes Protobuf delimiting).
Client now sends Protobuf-delimited Requests so VM can understand
them.
Also fixed glitch where certain server-side errors wouldn't
properly cause the client to error out.
Authentication updates

Removed references to obsolete session Grace Period.
Now with JWT we don't have a grace period, just an expiration date.
Also updated to point to correct Change Password API on SVMP
Overseer.
Authentication updates

Changed database, now stores proxy/webrtc info along with session
tokens. Now the client bypasses the SVMP Overseer entirely when it
has a session token to use.
Updated authentication fail flow in case of failing to connect to
the proxy.
Commented out code that used MemorizingTrustManager; the transition
to WebSockets broke it and it causes the client to freeze when in
use. Will add back in later after a fix is identified.
Added failure cases where encryption on client doesn't match
encryption on server (with detailed error messages).
Fixes for config changes, WebSockets presets update

Updated AppRTCHelper to support new format for WebRTC message
(variable names changed).
Removed MemorizingTrustManager option from preferences since it is
currently unused in the socket connection code.
Changed default port for connection to 3000 to match SVMP Overseer
default port.
Fixed WebSocket client cert auth issues

Fixed issue with WebSocket connection that caused the app to freeze
when external processes (KeyChain or MemorizingTrustManager) were
launched.
Update bouncycastle jar URL

The BC 1.5.0 download stopped working for some reason. Changed it to
the new latest 1.5.1 jar.

Fixes SVMP/svmp-android-client#4
Increased max frame size, added Looper-related logging
Fixed and re-added client dialog for untrusted server certs

Updated georg/MemorizingTrustManager code to snapshot of 5e1c3a38a.
Uncommented MTM hooks in preferences XML and SSLConfig.
Updated AppRTCActivity to prevent activity from exiting when the
MTM dialog pops up (the onPause() method only exits the activity if
the connection is already in proxying mode).
Merge branch 'websocket-wip' of github.com:SVMP/svmp-android-client
Updated for new protocol changes

Removed code that used obsolete AuthResponse fields.
Updated Touch and Sensor handlers because the Touch and Sensor
events are now "repeated" fields instead of "required".
Removed code that previously looked for a "message" field in Error
messages.