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).