Remove mask support in illumination correction

Masking artifacts was ultimately a failed experiment. The code is much
simpler without it.
Use simple int counter for background illumination

Now that no masks are used, a separate counter for each pixel is
redundant.
Use functional programming style for illum
Fix off-by-one error in reduce_with_count
Improve documentation for illumination estimate
Fix two bugs in illumination estimation
Update stretchlim to be symmetric on quantiles

When only the bottom quantile is provided, we use a symmetric top
quantile, e.g., 0.05 / 0.95.
Update background illum to use new stretchlim def
Implement median illumination correction
Add documentation and inverse for rescale_to_11
Add start of testing framework
Add fallback case for unrecognised illumination methods
Rescale back to float after computing illum
Add two tests for background illumination
Correct median background illumination
Added multi-dimension scale function, useful for cluster visualisation
Added multi-dimension scale function
Merge pull request #7 from starcalibre/mdscale

Added multi-dimension scale function
Merge pull request #6 from jni/illum2

Modernise background illumination estimation