Client side infrastructure

Adds the ability for the server to force a client-side refresh when we start making updates and deploying new server code.  Also adds some logic for reconnection using an exponential timeout.