Redundant method removed
Headers now use the protocol id not magic numbers as an id
RMCast updated so that it returns whether a messages broadcast has been completed.  Broadcasts are considered complete if all message copies were received from the original sender or if this node has completed the broadcast
HiTab protocol implemented.  The HiTab protocol is responsible for transforming RMSys (Reliable multicast system) into a probabilistic Atomic broadcast system.  HiTab is responsible for message ordering and recovery.
RMCast now handles HiTab messages correctly.  Previously the protocol was fordwarding HiTab messages to the HiTab protocol without first recording the appropriate RMCast data, this is no longer the case.

Also:
* Message records and the actual messages are now deleted from RMCasts local store once the final copy of a message has either been sent or received.
* Redundant messages have been removed from the MessageRecord inner class
* Various methods that are internal to RMCast have been changed from public to private
Garbage collection added to remove old messages that have already been delivered to the application.  A message and its records are deemed collectable if their sequence number is x amount of sequences old. Where x is specified by the user in the config file.  Similarly the frequency of garbage collection is also specified in the config file.