Deprecate PluginManer.getPluginInfo: It doesn't do what its JavaDoc says
- It will not only return plugins with a matching class name but also with a matching filename
- I should have reviewed the callers for whether they need the filename matching and removed the functionality completely if they don't. But the tight WOT release schedule forbids me from spending too much time on this. So insteadd this commit just deprecates the function.
- Add replacement functions for querying by class name and by filename. Do not add one for querying by both - I doubt that this is needed. If someone needs it, it will be easy to add.
Deprecate class Closer in favor to new Java language feature:
- See http://docs.oracle.com/javase/tutorial/essential/exceptions/tryResourceClose.html
- Also add JavaDoc which links that page.
Fix more overflows (CID 75145,75137,75104,75094)
Merge remote-tracking branch 'xor/deprecate-class-Closer' into next
Update dependencies in ant and documentation

JUnit4 and Hamcrest are required, as is Bouncy Castle 1.51. The Bouncy
Castle filename used now includes the version for clarity. Libraries are
searched for in the system-wide /usr/share/java by default, so
installing dependencies from packages is sufficient.

freenet.jar no longer defines a Main-Class or a Class-Path because a
node cannot be started with -jar:

1) It prevents specifying additional libraries on the classpath, which
   Freenet requires. From the java man page:

When you use this option, the JAR file is the source of all user
classes, and other user class path settings are ignored.

2) If the dependencies were not a problem it would imply that default
   JVM settings on such things as memory limits are sufficient, and they
   are likely to be too low.
Update build documentation for package support

Searching for jars in /usr/share/java means packages that install things
there are sufficient, and symlinks are not necessary.
Merge remote-tracking branch 'bertm/more-overflows-clean' into next
Update compatibilityMode versions

Rename constants, l10n, and comments to reflect the actual version that
the new compatibilityMode is deployed in.
Merge remote-tracking branch 'xor/PluginManager.getPluginInfo-deprecation' into next
Add ToadletContext-dependent showAsToadlet()

- This is useful for plugins which need to decide which Toadlet to
  return using the session cookies which can only be obtained through
  the ToadletContext.
- The only caller of showAsToadlet() without arguments had a
  ToadletContext available.
- The method taking ToadletContext calls that which does not by to
  support existing uses and overrides.
ClientRequester: add default getSchedulerGroup() implementation

This can implement the common behavior as well as extend the interface
instead of pushing that down to all its subclasses.
Merge branch 'next' into plugin-fcp-rewrite-purge-db4o

The conflict was that PluginManager contained the same new code as next
but with different whitespace (spaces instead of tabs).
The version of plugin-fcp-rewrite-purge-db4o was used since spaces is
what was decided to be used.

Conflicts:
	src/freenet/pluginmanager/PluginManager.java