Tweak range definition in `rescale_intensity`

This factors out intensity-range calculations to a single place and clarifies defaults in the signature for `rescale_intensity`. 
I'm not a huge fan of this parameter name... `signed_range`? With `zero_min`, I feel that it's a redundant parameter because one can specify the range in the previous parameter. (I understand that sometimes we want a signed dtype with only values above 0.)