initial commit: abstract class, sample job, framework to run the job locally, run the job on Gearman while blocking the process and waiting for results, and enqueue the job on Gearman and don't wait for results