(maint) Refactor test suite failure modes
(maint) Refactor test suite failure modes

 - Because of how exceptions are handled, it's not easy to immediately
   fail the suite when a catastrophic failure occurs, such as:

   * unable to find a given a service name
   * unable to find a running container for a service (i.e. dead
   container)

   Refactor error handling to only rescue TimeoutError but otherwise
   to fail hard

 - More specifically handle the case where PDB isn't yet up, rather
   than eating all exceptions

 - Also correctly handle the 404 case where PDB is up but not yet able
   to route (which can result in bad JSON return values)

 - This fixes the general issue where PDB does not start properly, but
   keeps the test suite running, even though it was in an
   unrecoverable state

puppetlabs/puppetdb,puppetlabs/puppetdb,puppetlabs/puppetdb,puppetlabs/puppetdb,puppetlabs/puppetdb