Make Tipi throw more verbose exception messages on validation failure

Added a Tipi::Exception class and throw a validation error with more background information.