Refactor worker

Two commits, refactor existing worker class and use new tests. Second commit adds polling exception for snapshot polling errors, which was originally opened in : https://github.com/rackspace-titan/qonos/pull/247

Fixes rm1782