Code quality improvements

- Converted RequestUri from string to Uri
 - Using Uri causes invalid custom Uris to fail early, rather than waiting until a request is made
- Removed redundant conversion to ticks in RequestIsWithinRefreshWindow
- Converted requestTimeInMinutes to TimeSpan
- Fixed tests
 - Removed a test that tested the failure of a request with an invalid URL. The client now fails at creation time for that case.

P.S. I'm not a fan of regions as used in this code base, but I recognize that that's really a personal preference thing. For what it's worth though, it's my experience that there is a strong inverse correlation between region use and developer experience level.