Job scheduling with DateTime objects

As discussed yesterday during Taylor's session at Laracon, it would be kinda cool to schedule queue jobs by passing a `DateTime` object instead of a delay to the `later()` method. I implemented that here, using Carbon for the date calculation.

Two things are remaining:
 * Not entirely sure how to test this, will have to do some digging.
 * Time differences are currently absolute, which means you can pass a `DateTime` object that represents yesterday, and instead the event will be scheduled for the next day. What would be a sensible behavior for past dates?