MODE-1683 Created a time-based sequence

Added a time-based, non-monotonically increasing unique sequence of long values that
can be used in the journal as primary keys for JournalRecord instances so that:
1. they are ordered based upon the sequence in which they arrive
2. we can find the JournalRecords that were added within some time range
MODE-2081 Changed the license for ModeShape code to ASL 2.0.
MODE-2081 Changed the license for ModeShape code to ASL 2.0.
MODE-2081 Changed the license for ModeShape code to ASL 2.0.
MODE-1683 Simplified message consuming & receiving; updated delta reconciliation implementation and MapDB version to 0.9.8.
MODE-1683 Added a method for retrieving the last record of a journal. Changed the signature of the methods which used long timestamps to use DateTime(s) and removed unnecessary conversions to UTC.
MODE-1683 Changed from normal timestamps to time-based keys and updated various other parts of the code based on code review.