Column pluggable
Replaces the enum-style columns with reflection based ones. This allows defining new ones in more plugable manner and seems a bit less awkward (though still a bit magical).
Also, this change allows having null
entries quite everywhere, so every column value may be missing at each place (not that it would happen to all columns, but being not present and being possible to query by the lack of presence is now possible).
Closes #31 (closed) and #32 (closed).