Enahanced Work() without Ready() behaviour:

Now if you try to call Work() without calling Ready(), it will trigger an attempt to run Ready(), and will only panic if there is an error.
Fixed and improved Work() without Ready() test:

* FIX: committed test froze
* FIX: committed test had a race condition!
* Added properly handled panic test
* Timeouts so that these tests should fail now if something goes wrong instead of failing.
Merge pull request #41 from draxil/master

Better Work() without Ready() behaviour, now with improved tests!