This is pretty much a generalisation of the use_nil option to support an arbitrary atom.
This implements the `use_nil` option as discussed on issue #64. Passing the atom `use_nil` as an option to both encode and decode will replace the atom `null` with `nil` when decoding and encode `nil` as `null` when encoding values. Fixes #64 Fixes #68
Finally got off my butt and started using EUnit.