Initial alias validation (#49)

This augments the annotation processor to require that aliases be qualifiers.
Improve qualifier alias resolution (#49)

- Test for circular reference rejection
- Require aliases to be parameter-free
Resolve type aliases when matching qualifier types (#49)
Test that binding to an alias qualifier object works (#49)
Use class matchers to match nullary annotation values

To support aliases, even if the aliased parameter is matched by value, we delegate nullary annotation values to the type-based annotation matcher with value priority.  This re-uses the resolution logic.

This will need to be changed if we ever allow aliases for qualifiers with parameters.