This adds the shared Exception class

This adds a shared exception namespace, `Knife::Sink::E`. New Exception classes should inherit from `Knife::Sink::E::SinkErr`.

This also adds the `Knife::Sink::E::InvalidOpt` class to throw invalid opts found during validation.