Add various values to the WSGI environment

Adds several aversion.* variables to the WSGI environment.  These
allow applications to determine the selected version, request and
response types (both original and mapped through the type rule),
and the original header contents.
Add a version aliasing mechanism

Adds a way to set up aliases for versions.  This is intended for
ensuring canonical values in the face of type substitutions.
Consider for instance a type rule that yields version "v1.1",
and we want to map this request to the v2 api.  By adding
"alias.v1.1 = v2" to the configuration, the version number
used (and present in the "aversion.version" WSGI environment
variable) will be "v2" rather than "v1.1".
Allow for header overwriting to be disabled

Provide an "overwrite_headers" configuration key to control
whether or not the HTTP headers "Content-Type" and "Accept"
will be overwritten with the selected content type.  The
configuration value defaults to "true".
Add some AVersion config data to requests

Adds some configuration data to the WSGI request environment.  This
may be used by the version application to know which API versions
are available under which URI prefixes, as well as which content
types and URI suffixes are configured.
Use the version from the result, not the request (bug fix).
Once the ctype is set, the orig_ctype cannot be changed.
Act gracefully if 'Accept' header is not present.
Update test suite to handle new AVersion code and features

This does not add the necessary unit tests to fully test all the code.