Fast serialization for records

This patch allows records to be serialized and deserialized by Nippy. The serialization scheme is more performant than the EDN reader, but less performant than a custom type due to the use of reflection to reconstruct the record type. The record class must be available on the classpath in order to deserialize the record.

Because this patch adds a explicit record serialization, it also effectively fixes issue #24, without needing to change any of the existing dispatch types.