Context: fix up javadoc
Context: remember whether the context is strict

Also add API for setting the strictness later, if desired.

This will be useful so that we can behave strictly (or not)
in later situations, particularly during context injection.
Context: refactor injection into helper methods

This will enable subsequent changes to the error handling of those
respective methods.
Context: try hard not to die in non-strict mode

When Context#inject(Object) is called, there are all kinds of crazy
things that can potentially happen, particularly class loading failures
(e.g., NoClassDefFoundError) due to missing dependencies when scanning
the given object's fields and methods.

When the context is in non-strict mode, we want to try very hard not to
throw an exception, but instead simply log an error, when something goes
wrong during the injection. And we want the injection to proceed
tenaciously, so that if something goes wrong at one stage, other stages
still might complete successfully.

This commit is best viewed with git's "-b" flag.
Merge branch 'non-strict-injection'

This branch makes the SciJava application framework try harder to keep
going when something goes wrong during context injection while in
non-strict mode.

The idea is that it might help applications succeed in starting up when
they otherwise would have failed with an exception.

In practice, it is still a crapshoot, since the normal assumptions about
which fields have been successfully injected no longer hold while in
non-strict mode; consequently, subsequent NPEs are much more likely.