#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.
I'd slightly prefer having this implemented in terms of applyNonlinearity:

`self.applyNonlinearity(lambda x : (1.0 + alpha*numpy.log10(self.array/float(exp_time)))`

It just seems more modular that way.  E.g. if we found a clever way to speed up applyNonlinearity, this would get the improvement too.  But if you prefer to leave it as is, that's ok too.