#552 Detector non-linearity and reciprocity failure

A basic method to apply any desired non-linearity on an Image has been included to begin with. The non-linearity can be specified by a LookupTable or as a function, possibly with parameters, that can act on NumPy arrays. In addition, it also includes a feature to correct for reciprocity failure. A basic unit test to test these functionalities have also been built.
Yes, good point.  That way if it's for example a LookupTable and they call it on something out of range, they won't just get the LookupTable exception, they will also get a bit more info.

@arunkannawadi , can you please add this? (in both routines in detectors.py, not just the nonlinearity function)