Refactor 'request' to 'message'

-changed keywords/function names from request to message, just for
homogeneity
-added a few logger entry points
Fixes for internal messaging

-changed handle_internal_message to be able to create coordinators
based on whether it replies back to a reply listener (for an
ExternalRequestCoordinator) or an internal channel (for an
InternalRequestCoordinator waiting for a reply on another node).
-added logger entry points
Add tests for MembershipStage

Added tests for:
-removing node hash from consistent hash ring
-getting responsible node hashes for a given key
Add test for partition_keys

Finish test for partition_keys, ensuring that:
- only a num_replicas number of partitions are ever present on a given
node.  i.e. Node3 contains only copies of Node1’s, Node2’s, and Node3’s
keys.
- each key is properly assigned to its primary node_hash, i.e. the
partition for Node3 returns { Node1: [Node1’s keys] … }
Fix offset_hex zero padding

Added zero padding to the offset_hex function, since conversion to an
int was truncating any leading zeros when converting back into a hex
string.
Minor change to get_responsible_node_hashes

Made the indexing a little more succinct.
Finish tests for partitioning keys

Added tests for:
-testing partition keys, ensuring that each key is properly assigned to
its primary responsible node
-test partitioning keys for announced failure, check that keys are not
already on reassigned nodes and check that node is actually responsible
for the assigned keys when the server has been removed from the hash
ring.