#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.
As these image arrays might get quite big, it *might* be worth optimizing this very simply as
```
arr_in = self.array * (1. / exp_time)
```
(note you already checked that `exp_time` is a float, so the addition `float()` is unnecessary).  It's unlikely to be the rate determining step as you have a log operation coming up, but it's a good principle to bear in mind (http://stackoverflow.com/questions/4125033/floating-point-division-vs-floating-point-multiplication)