#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'm having a hard time with this function.  I don't see the given formula anywhere in this reference.  And the frankly the formula doesn't make a lot of sense to me.  The units in `log10(im / exp_time)` don't work.  You have log of e-/sec.  This could be ok if there were some scale factor in there the absorbed the units, but you don't.  The alpha factor is outside the log, so it cannot account for that.  

The fact that those units (e- and sec) are appropriate seems like it must be only a good approximation for the detectors that have been tested so far.  i.e. the WFirst detectors.  So that makes me a bit uncomfortable having this in the main galsim module.  It's just a bit too WFirst specific, it seems to me.

Would you be ok moving this to the wfirst module?  It could still be implemented the same way, but it would only show up if you `import wfirst`.