Reviewer Mike - Sproutlets control record routes

Mike, this implements the long-discussed changes to the Sproutlet API to allow Sproutlets (but not ASs) to more accurately control the Record-Route sets.

I've tested by running the existing UTs (not your new ones yet) and the only outstanding issue is that the SCSCF Sproutlet sometimes adds itself to the route set multiple times in a single hop.  This breaks two SCSCFTest test.
Is scope the right word?  The ACR specs call this "role" not "scope".