Make null match optional parameters (only)

That way, if a parameter is flagged optional, you don't have
to populate it with an object but can instead pass null.
Remove redundant AddOp

The AddConstantToNumericType does the same thing, but is also a
Function, which makes it usable with mappers.

This change also splits out the unit test for AddConstantToNumericType
into its own class file creatively named AddConstantToNumericTypeTest.
Merge InfinityOp into BasicOpTest
Adapt and expand BasicOpTest to OpServiceTest

It now tests all the run, op and module methods of OpService,
using the InfinityOp.
Merge branch 'unit-test-cleanup'