Add an explicit class for attributes and leverage it for factories

People are coming up with creative ideas for characteristic and I figure it doesn’t make much sense to add dozens of mapping arguments like ``defaults``.

Therefore I’d switch to allowing to pass also instances of a class called Attribute that allows for factories.  This would already fix #3 and make similar things easier in the future.

I’d like especially feedback on:

- is it too clunky?
- ideas for better naming?