JobType Rework

This pull request is a rework of the base `JobType` class and associated modules.  The changes here are based on a thread on [discuss@pyfarm.net](https://groups.google.com/a/pyfarm.net/d/msg/discuss/er2e44kiPBE/JwVnOn43U-4J).
The docstring should be more explicit about whether or not this method is overridable.