Finish tests for 5 local servers.

Finish tests for put, get, delete with cases for single operations and
1000 operations distributed over all local servers.
Change timestamp functions to return strings

All timestamp functions now return strings, since datetime objects
aren’t JSON serializable.
Add get_gossip_node_hashes

Returns num_gossip_nodes number of random node_hashes for messaging via
gossip protocol.  For now the number of gossip nodes is the same as the
number of replicas.
Minor changes to server

-node hash now based on hostname, external port, and internal port
-added a few logging entry points
Add tests for single local server.

Tests put, get, delete, shutdown commands between a single client and a
single server.
Minor changes

Added a logging entry point for exceptions during socket connect.
Fix get_responsible_node_hashes

Added ability to handle cases where the size of the hash ring was
smaller than the number of desired replicas.