Support inherit/override of parameter annotations

Preliminary support including some basic tests. Currently unsupported or
untested:

  * Parameter annotations on constructors
  * Parameter annotations on (abstract) classes
  * Complex hierarchies with selecting inclusion/override
  * Mix-ins
Add supprot for mix-in parameter annotations.

Also improves tests for parameter annotation handling.
Factored out common behaviour for ResolvedMembers

Introduces a `ResolvedParameterizedMember` class for common behaviour
between constructors/methods, including capturing parameter annotations.

Common code for members (equals/hashCode/getType/getRawMember/etc.)
factored in to base class.
Factor out more common test code

AnnotationConfig is always the same in TestParameterAnnotations.
Add support for constructor parameter annotations

Constructor parameter annotations can be mixed-in, but cannot be
inherited. This is intentional based on the behaviour of constructor
method annotations.
Provide a means to passively access annotations

To facilitate code that would like to interrogate annotations on a
member/parameter without first knowing the class of the annotation, we
need an accessor to the `Annotations`.

For convenience, we also provide an implementation of the `Iterable`
interface to `Annotations` so they can be easily iterated.
Fix NullPointerException in Annotations#iterator

If the annotations `Map` hasn't yet been initialized, initialize it
instead of throwing an NPE.
Merge pull request #17 from nicktelford/feature/inherited-parameter-annotations

Support for parameter annotations