Issue #29: maintain timezone when calculating ranges.

Attempting to solve Issue #29, for both Arrow.range and Arrow.range_span.

Behavior for this pull request is: if timezone isn't specified for the range function, use the timezone of the "start" parameter. Either way, blow away the timezone of the "end" parameter. I believe this is the behavior you specified in that issue.

A change like this probably deserves documentation changes, but I'm not confident yet in my ability to do so.