Allowing getting the scheme, serverPort, and serverName

Spring-test allows for getting these properties, so the change to throw UnsupportedOperationException when they're retrieved is a backwards-compatibility breaking change. These properties are easy to get from the request URI, so this commit does that.