Wrote tests for exercising list de/serialization.
Implemented deserialization for F# map and set types.

Wrote tests. Still need to decide how to allow user to configure what
happens when the value that is deserialized contains duplicates, i.e.
should it error, or simply de-duplicate?

Resolves both #21 and #22.