Refactored Benchmark System

	Extracted AbstractOpBenchmark class
	Moved methods
	refactored child classes
MappedThreaderTest: Make code more readable
AbstractThreaderMapper: Using LogService
Function: input/output parameters optional...

... and ItemIO.BOTH for the output parameter
Function: finalized parameters of setters
move AddConstant* to add. package...

... changed name of operation to "addconstant"
Merge branch 'master' of https://github.com/imagej/imagej-ops
DefaultOpService: Handling null with not required items

If an item is not required, i.e. annotated with required=false and
the argument passed is null, the canAssign function recognizes this
and return true.
DefaultOpService: Handling too few arguments

if there are too few arguments provided, it's not a match!
Merge branch 'master' of https://github.com/imagej/imagej-ops

Conflicts:
	src/main/java/imagej/ops/Function.java
	src/test/java/imagej/ops/tests/ThreadedMapperTests.java
	src/test/java/imagej/ops/tests/benchmark/MappersBenchmark.java
BasicOpTest: add op is working now.
Merge branch 'master' of https://github.com/imagej/imagej-ops