This reworks the plugin API such that:
- Unable to register a command with unknown wrap-options
- `TypeError` raised for wrap-option type mistakes
- Remove the `overWrite` option (it's unused, probably safest to not
expose for now)
- `cmdOptions` defaults to `null` instead of `false` for type
consistency (no change to default behavior)
- Move `pipeMethods` logic into `_register`, since it makes more sense
there
This is not expected to have any effect on existing plugins.