TestBinaryMaskOverlay: remove unneeded try/catch

In the same vein as 7c0ea1fda02d4e56793eabfaa5761a8965a0e903, it is
better for tests which are not supposed to throw exceptions to simply
declare those checked exceptions, such that if they *are* thrown, the
test is in error. Then we get the full stack trace instead of just the
message, too.
TestBinaryMaskOverlay: use empty context

We do not need a full-blown context with all available services just to
test the overlay serialization; better to use a minimal (in this case,
empty) one for that.
Merge branch 'better-options' into context-tweaks

As part of the context injection work, we need the improved and
simplified OptionsService to avoid options-related problems.
Simplify context injection logic in some places

These changes require scijava-common 2.0.1, which strengthens and
clarifies context injection behavior when calling Context#inject(Object)
vs. Contextual#setContext(Context). In particular, accidental double
context injection is now prevented via an IllegalStateException.