Create factory for the Character model.

The new factory can be used to generate entire Character objects or individual
Character attributes. The factory is hooked into the testing framework via the
new ``tests``module.
Improve readability of Character model.

Rearrange some fields and add a comment.
Add doctests for method validate_quarter