Closes #342 - Add a configurable retry timeout to Fluo clients

Pull request for #342 
I could go either way on this.  The timeout property is forced to be -1 in the Oracle & Worker so it would be nice to just set the default to -1.   However, I think it's nice (for debugging purposes) if there is timeout for client code written by users.  If default is set to -1, client code will just hang if a Fluo instance is not running.  With a timeout, the user will get an exception eventually.