DefaultOpService: notify which op was chosen
DefaultOpService: move debug code to a better spot
ConvolveTest: assert same class for looked-up Ops

This is more direct, and a stronger test, than the previous approach.
OpService: reorganize and streamline the API

The central methods are now:
* run(String, Object...)
* run(Op, Object...)
* op(String, Object...)
* module(String, Object...)
* module(Op, Object...)

That is:

1) An operation can be executed (run) via either its name (in
   which case the best match is chosen), or an Op instance directly.

2) The op method returns the best match Op for a particular name & args.

3) The module method obtains a Module corresponding to a particular
   operation, which is specified either by name (in which case the best
   match is chosen), or by an Op instance directly.
OpService: fill in the javadoc
Merge branch 'op-service-api'