Pass the correct Method instance to the InvocationHandlers

We should pass the method of the original interface to the
InvocationHandler, not the method of the interface.

That way, proxy instances of annotations will have easy access to
the default values.

This happens to be compatible with the way Oracle Java does it, too.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Verify that Proxy instances have access to annotations' default values

For quick access, the sezpoz library stores lists in
META-INF/annotations/ of classes that have been annotated in a
special way.

To support the use case where the annotations actually changed since
sezpoz stored said lists, sezpoz then creates proxy instances for the
annotations to provide some backwards compatibility: as long as there
are default values for any newly-introduced annotation values,
everything is groovy.

Therefore, let's make sure that proxy instances inherit the
annotations' default values.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Fix parsing of recursive annotations

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Test complicated annotation constructs

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
wip

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge remote-tracking branch 'dscho/regex' into debug/scifio
Merge remote-tracking branch 'dscho/proxy-annotations' into debug/scifio
Add a ZipInputStream

This version just writes out a temporary file and hands off to ZipFile.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>