Refactor scale_image module

This PR refactors the `scale_image` module, including combining the `scale_*` functions into a single function (https://github.com/astropy/imageutils/pull/11#issuecomment-51109051, https://github.com/astropy/imageutils/issues/16).

@astrofrog  I have no equivalent to APLpy's `vmid` keyword for `log` scaling (`log` scaling in APLpy is a bit different).  For `asinh` scaling, `noise_level` here is equivalent to `vmid` (but the defaults are not the same).

Can someone review this?
I generally try to prevent copies of code, but I'm fine with removing them if you think it better.  Is the issue that the docs are harder to read while looking at the code?

Related, is the use of `**kwargs` for the percentile parameters of these functions OK?