Add timestamps to console log output

Change-Id: I7b84c45ab502fcd97e89b30550f6dbc84da397c1
Start converting to new websockets and API server architecture

Sweeping change throughout. Summary:
* new websocket class used in place of framedsocket for incoming client
  connections
* completely altered authentication to use the new JWT approach
    * plugins removed
    * stub for 2nd user cert mode added for use behind SSL terminating
      reverse proxy
    * TODO: code for verifying user cert and JWT have matching subjects
* session management vastly simplified (TODO: not entirely finished)
* removed most of the database interaction code and mongoose dep
* removed most of the cloud management code that's moving to the API server
  (still needs to be replaced with calls to said API server)

Change-Id: I4d5372ae7396c61ea29c8881eefb157ffe880f72
Clean up obsolete npm dependencies

Change-Id: Id2b7450f03ab002cbc96631f9618b5c81f9e8863
More progress on WebSocket conversion

Fixed authentication module.
Updated config files to include REST API fields.
Identified and commented issue in session module.
Added Q-IO package for HTTP promises.
Updated proxy module to use HTTP request for VM setup.

Currently broken; the proxy's client socket closes with error 1011
when it tries to forward the VMREADY response from the VM.
Added support for VM sessions

Changed "sessions" to "VM sessions".
VM sessions keep track of whether the user is connected to their
VM, and when they last disconnected.
Proxy now uses the SVMP REST API to create a VM session when the
user first connects, and to update the session when the user
disconnects, so the proxy can terminate expired VMs.
Proxy runs a timeout function to kick the user when their regular
session has reached its maximum length.
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, updated debug/silly
logging to support this.
Framed socket now strips varint delimiter from VM Protobuf Response
messages before passing them to the client.
Authentication updates

SVMP Overseer no longer requires "sid" for VM Session.
Various Overseer-related fixes and changes

Changed JWT decoding to use Overseer certificate as shared secret.
Updated config files, schema, and key/cert generation script to
match the latest versions on the Overseer for consistency.
Removed old tests that aren't applicable and fixed existing broken
ones. WebSocket tests still need to be added.
Updated README and removed obsolete files where appropriate.