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: tweak method ordering

We move the (private at the moment) loadService(Class, boolean) method
into the public methods section, in preparation for it becoming public.
ServiceHelper: add support for "non-strict" mode

Specifically, the loadService(Class, boolean) method has changed from
"boolean required" with private visibility to "boolean strict" with
public visibility. Now, if strict mode is false, _all_ service classes
are treated as "optional" for the purposes of initialization.
ServiceHelper: add loadServices with strict flag

Now it is possible to load services in either strict mode or non-strict
mode, depending on the value of the "boolean strict" parameter.
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.