server: Don't shut down until all connections are cleaned up
_Endpoint: Make protocol_disabled a readable property
Add vm-destroyed protocol message

If the destruction is due to a server shutdown, the client needs to know
not to retry the connection.
Merge branch 'vm-destroyed'
server: Use futures for calls into main loop from HTTP thread
server: Drop VMNetXServer._lock

All access to VMNetXServer._tokens is now done by the event loop thread.