Refactor error names to be simpler.

When these errors are thrown, we know that they are errors, so there
really is no need to place the text 'error' in them. A small ambiguity
occurs within the identity type's member functions, though this is
easily solvable with a nameless namespace, or some type aliases later
on. This change is mostly to make the code more readable, although a lot
of the 'error' types are the same interface repeated over and over. If
all the compilers out there supported inheriting constructors, this
would be very easy to handle. Unfortunately, they don't, so it gets a
bit monotonous.

In addition to the major refactor, all unit tests have been updated to
reflect the new naming convention. So far, no changes have occurred in
behavior, though integration tests have yet to occur (as well as a final
'proof of concept')

A small note: the identity_crisis exception will most likely become a
non-inheritable exception that sits apart from the base exception, due
to how *important* it is (if the identity 'self' instance is not copied,
bad things can happen).

Documentation to reflect the custom exception interface will need to be
implemented, as it is 'close' to the `std::exception`, but is not 100%
equivalent. The basic premise of the exception type is to hold the
properly formatted message, and the statement in which the error
occurred. Some more tweaking to the base exception interface may be
needed, but it should suffice for now.
Modify the unittest::v1::exception interface to provide a 'type' string

This will allow for the test runner to better report what kind of
exception was caught, and display better information. e.g.::

    assert_is: lhs is not rhs value in statement #N

Modify unittest::v1::skipping to be non-inheritable, and a base.
Modify unittest::v1::identity_crisis to be non-inheritable and a base.

Due to both of these only ever being used to print a message (that is,
the eventual test runner will handle the final formatting of messages),
they have no reason to hold their type and statement number.
Fix issue with unittest::v1::exception constructor