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.