Introduce omero.CmdError for waitOnCmd

This removes the dangling '???' regarding what type
of exception should be thrown. `CmdError.err` provides
access to the original error object (and is required).