Type-safe YML configuration validation.

Dumps the YAML document into an extra environment property
and uses a YamlConfigurationValidator bean to validate
it later in the application context.

Uses a snakeyaml constructor to bind the YML document
to a configuration Java bean (UaaConfiguration for the UAA).
The bean is annotated with basic JSR303 validation annotations
for additional checking.
Added tests for type-safe config checking.