Context: improve javadoc

1) Mention that it is OK for the passed pluginIndex to be null.

2) Remove the "NB" block about how PluginIndex#discover() "may" still be
   called. Actually, it is definitely always called, unless a subclass
   of PluginIndex is passed. And the attached PluginFinder will be used.
   We may still want to mention this, maybe, but if so it should be done
   in the main Context ctor rather than one of the convenience ones.
ServiceHelper: add support for "non-strict" mode

Now it is possible to load services in either strict mode or non-strict
mode, depending on the value of the "boolean strict" parameter. Now, if
strict mode is false, _all_ service classes are essentially treated as
"optional" for the purposes of initialization.
Context: add ctor arg for strict service handling

By default, strict mode is enabled. But you can pass strict=false
if you want context creation to continue (rather than throwing
IllegalArgumentException) even when a required service fails to
instantiate.
Context: add sys prop to override strictness

If you want context creation to be lax by default,
you can now set scijava.context.strict=false and
the fail-fast behavior will be disabled by default.
Context: add @see links to the main constructor

That constructor contains the most complete javadoc, which we want to
encourage people to read, even if they use a different convenience
constructor. This is DRYer than replicating all the documentation
for every single convenience constructor.
Context: split list-maker to a utility method

This change will make it easier for unit tests to call the Context
constructors that take a Collection instead of a varargs list.
ContextCreationTest: add tests for non-strict mode

These tests verify that context creation continues and is
successful even in spite of missing services.
Merge pull request #86 from scijava/tenacious-creation

Add a non-strict mode for context creation