Allows more complex constructs for jobs.

Currently, QC would not prevent a user from entering a job like

    MyJob.unknown_method.known_method

With this patch, QC `eval`s the whole job description so one doesn't
have to create class methods to run jobs. This makes testing a bit
more easy (`MyJob.new` could receive default arguments) but its main
goal was to avoid cases where a user would create a job `MyJob.a.b`
and `.a` would never be called.