#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.
There doesn't seem to be any test that the math is right. e.g.
```
np.testing.assert_array_almost_equal((im2.array - im.array)/im.array, alpha * np.log10(im.array), ...)
```