bkr: allow commands to silently re-define existing options

Currently a workflow command subclass has to explicitly remove any
option that it wants to replace before it adds its own definition,
otherwise an OptionConflictError is raised.

With this change, if a subclass defines an existing option it will
silently replace the existing definition.

This is needed for an internal workflow which currently defines
--host-filter, although it seems like it will be generally useful (since
workflow commands option need to re-define common options).

Change-Id: I74c93d3c6b6dd8d45ba7a3457fc07a8241fc71a6