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.