Seahorse::Client::Base now provides the API option.

Removed the basically empty Seahorse::Client::Plugins::Api plugin.
Next we can make the Endpoint plugin optional in Seahorse, removing
the concept of "required" plugins.
Made the Seahorse endpoint plugin optional.

Calling `#clear_plugins` on a Seahorse client class will now
remove **all** plugins, including the endpoint plugin. You can
now remove this plugin and provide your own custom endpoint
logic.
Removed the OperationNames plugin.

This is now core functionality of Seahorse::Client::Base. This means
there is no more runtime patching of the client class. The previous
approach was problematic as once the plugin was applied, it was
impossible to cleanly remove.

Removing this plugin also removed the need for a client class
mutex, as the class is no longer being modified during the
initialization of the first instance.
Renamed a private method for clarity.
Removed an un-needed require statement.
Removed an un-used error class.