Allow shutdown when no engines are registered

When no engines are registered the `Client.shutdown` method raises a `NoEnginesRegistered` exception.
This occurs before the hub shutdown thus preventing the hub from being shutdown.