Fix for exceptions thrown in user job processing code are being silently caught and discarded

Bug in lib/queue/job.js#get:
````
        try {
            if (hash.data) job.data = JSON.parse(hash.data);
            fn(err, job);
        } catch (err) {
            fn(err);
        }
````

As a result of `process.nextTick` being commented out later along execution, this innocuous looking try catch was actually catching all exceptions thrown in user provided functions to queue.process silently.

ie.
````
jobs.process('task', function(job, done){
    throw "Error";
});
````

Would silently fail without any output / event.

Fixed by rearranging the try / catch.