Issue 13 fix.

A small fix for issue #13.

This fix will alter the way that next_run() handles an empty job queue.
Rather than throwing a value error when the jobs list is empty, we return a None value. I think this is intuitive, as the job to be next run is None (empty list), so its datetime will also be None.

Test code was also updated to include one small test for this exceptional case.