Fix issue#12

- Provide an interface for record so the client can provide its own implementation.
- Add documentation to the exposed symbols in recordio.record
- Change Appender and Fetcher to use the new interface
keep Append(Record)