[Reviewer: Mike] Add support for public GRUUs

This is ready for review. I've tested by:

* Running the UTs (full coverage, no leaks) and eyeballing the debug logs
* Running my new live test suite, including validating the NOTIFY XML against a schema and using a non-UUID instance-id
* Checking SAS for a call without GRUUs, a call to a GRUU, a call to a nonexistent GRUU, and a call to a GRUU where the binding failed Reject-Contact filtering, and checked that the logs are correct in each case

Won't this routine always be called with a valid request?  If so, aren't the first two parts of this test redundant?  (In fact, I'm pretty sure PJSIP would reject a request with no Request-URI, so even if we can call this routine with a response, the second part of the test is unnecessary.  I would recommend we change the parameter name to be req to make it clear that is what the routine requires.