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.