`Askari::Error` is the root of an exception hierarchy.

Also, `Type::Error` is no longer a validation error; that was always a
hack.  Now `Validation#validate!` catches type errors and re-raises
them as validation errors, which is probably what it should have done
to start with.
`Askari::Client::Error` expressed errors in finding or using clients.

It can act as a catch-all for coprocessors that wish to forward them
back to users via an `on_error` block.