Edit Thrift definition to use browse0 and browse1 method names
to simulate overloaded functionality
move defintion of TSecurityException to shared file
Improve implementation of browse(record)

1. Add support for historical browswing
2. Implement the browse method in the server in a manner
that is consistent with the implementation of other read
methods
improve unit tests names and add new case for historical browse
CON-51: "browse" implementation and refactoring

Added an implementation for browsing a key. This is in addition
to a previous commit which adds functionality to browse a record.
I also refactored the Engine to do browse directly so that the
implementation is more efficient. As a result, I also refactored
the describe functionality to use browse.
formatting change
Merge remote-tracking branch 'upstream/develop' into develop
CON-75: Add custom List to hold the Buffer pages

This commit implements a custom List to hold the pages in the Buffer.
In particular, the custom list fully delegates to a Java ArrayList
except for the iterator() method. Instead, the custom List implements
a custom iterator that has the ability to "reload" in the background
if items are added to the underlying collection from outside the iterator.
This essentially means we don't see ConcurretModificationExceptions, which
is okay since the underlying collection can only see new data (as opposed
to seeing existing data deleted) while a reader is using the iterator
javadoc update
Merge remote-tracking branch 'upstream/develop' into develop
change warning messages from stdout output to console read and wait for user action