Refactor for clarity

Refactored most of the code for PEP8 and readability.

The generator functions now reside in a Generator() class.

Refactored reused code.

Fixed MySQL support for URLFields.

The motivation for this refactor is based around preparation for designing a factory.  The approach to designing a factory should be more intuitive now.