started groundwork for handling Mongoid in same test suite
continued work on README
SRP split SE::Enum to SE::Enum and SE::Accessor

SE::Enum know basically holds the enum definition, while the accessor
is responsible for actually interacting with the object, i.e. setting
& reading the values. This allows to simply introduce different write
behavior and backport features like :whiny. Just for fun these accessors
exist:

 - SE::Accessors::Accessor, the default one, sets source to nil when
   invalid key is supplied
 - SE::Accessors::IgnoreAccessor, does not touch the existing value
   if an invalid key is passed, so if setting u.gender = :foo, retains
   the current value of u.gender
 - SE::Accessors::WhinyAccessor, raises an ArgumentError if an invalid
   value is passed

IMHO, this refactoring might actually be a bit of an overkill, though
I think it allows to nicely add new writers.