Migration from Python 2.7 to Python 3.3.

The Python sources and libraries now run on Python 3.3.
Fixing unnecessary universal import.

Also improving app's modularity, and fixing small typos.
Raising proper exception when validating data.

Problems related to validation errors will only raise a ValidationError
now. Validation also got tighter, now also validating initial data
passed along the constructor.