handles NET::OpenTimeout errors gracefully
Refactor run loop and add specs.
Bump to 0.9.3