[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

I think I'd be tempted to define a string variable "target_gruu", set this in the code below if the Request-URI is a GRUU, and then use "if (!target_gruu.empty())" tests to decide whether I'm doing GRUU comparisons.  This seems neater.