Refactor HangFire.Server for unit tests (breaking changes)

Changed storage classes & interfaces (breaking changes) and internal
components.