Allowing UTC sunrise/sunset times

I would like to be able to call `GetSunriseSunset` and have UTC times returned. The current codebase has problems dealing with this if the decimal hour may be outside 0-24; this refactored version does not have that problem. I think some unit tests (other than those in our own codebase) would be useful to ensure this actually does what is intended.