#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.
For the comparison, try:
```
import sys
if numpy.any(arr_in < .5 * sys.float_info.min * sys.float_info.epsilon):
    raise ValueError(...
```
this should be more platform independent, and is precisely the number you require I think.

For the error message, I think we should be more explicit about what is failing.  Perhaps `"At least one element of image / exp_time is too close to 0 or negative."` would help the user work out what is wrong more quickly.