Refactor __check_if_ready_to_run - less code duplication...

... in the sense that it is no longer repeatedly grabbing same values from map, from wrapper, etc.
Break up __check_job_state - extract new __verify_job_ready method.
Allow dynamic job destinations to throw new JobNotReadyException to indicate delayed decision.

Perhaps wait on some deployer defined limit or resource to become available, etc...