Merge pull request #38 from draxil/master

More helpful panic if you call Work() before you call Ready()
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.