#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.
True, we can optimize.  However, we didn't require ```exp_time``` to be a float - it can be float or int, so I think the ```float(exp_time)``` is needed.