Joiner Refactoring

Some more renamings of Joiners. Tried to find a consistent way for the naming of interfaces/implementations.
Additionally, the joiners now base on the newly introduced OutputFactory<I,A> which is needed for multi-threading.

@ctrueden could you quickly review this code. then I would like to merge it into the Threadable branch and go on with the getIndependentInstance implementations, so that we can merge https://github.com/imagej/imagej-ops/pull/13 today!