Add Server Record class

This patch covers the Record class as well as unit tests for both
testing and example usage. The class extensively uses exceptions to
handle incorrect method calls so correct handling of those exceptions
is important.