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.