adds a job factory interface for materializing jobs from custom sources
uses property setter to inject factory and minimize API changes.
Merge pull request #42 from gregjan/master

adds a job factory interface for materializing jobs from custom sources