User data volume management and start of auto VM creation

* Uses promises in more places
* White space cleanups in several files

Change-Id: Ie956591b8bc353f4ab1c16e4b195cd3c4ca8ff50
Destroy idle VMs after some period of time

NOTE: If you have an existing database, you need to discard the TTL
index; the easiest way is to drop the 'sessionmodels' collection.

Fixed issue with proxy sockets that sometimes caused client socket
to stay open when it should close.
Changed how proxy handles and removes sessions (no longer uses
MongoDB TTL index).
Now session 'lastAction' state is used to determine VM idle time.
Added interval to terminate expired VMs (those that have been idle
for too long), remove the associated session, and remove the user's
VM information.

Change-Id: I7fd8487957a8c83d8a7d2a60436a25b71fb22f96
Complete automatic VM creation on login

* Finished post-login process
* Error handling improvements
* Documented many functions
* Code cleanups & dead code removal

Change-Id: I6582db00793a4884357a3dd82dfafdd4797ce660