First stab at more human configuration errors

    * `ConfigurationException` has been made abstract and broken out in
    to `ConfigurationParsingException` and
    `ConfigurationValidationException` to properly encapsulate the
    different kinds of errors.
    * `ConfigurationFactory` catches a variety of common Jackson and
    SnakeYAML `Exception` and attempts to turn them in to sane
    `ConfigurationParsingException`s.
    * When provided with _suggestions_, `ConfigurationParsingException`
    will provide the user with the top-5, fuzzy matched against their
    input by Levenshtein distance.
Suppress stack-traces for ConfigurationExceptions.

Stack-traces are for unexpected program errors. ConfigurationExceptions
are an expected consequence of an invalid runtime configuration.
Therefore, the stack-trace adds no information of value.

Lets suppress it so it's less likely to scare people.
Remove docs for non-existent constructor parameter
Merge pull request #368 from nicktelford/feature/human-config-errors

More human configuration errors