[Reviewer Andy] Sproutlet support - DO NOT MERGE!!!

Andy

As discussed, this pull request is for you to review the remaining unreviewed code changes for Sproutlets. The main bits should need to review are

-  the updates to BasicProxy to make it suitable as a base for SproutletProxy (basicproxy.cpp, basicproxy.h and some corequisite changes to icscfproxy.cpp and icscfproxy.h to keep it building/working)
-  the SproutletProxy class and anciliaries (sproutletproxy.cpp + sproutletproxy.h)
-  the SCSCFSproutlet class (scscfsproutlet.cpp/scscfsproutlet.h and some minor tweaks to aschain.cpp and aschain.h)
-  a few miscellaneous updates to PJUtils - mostly to make cloning of messages sane.



Mike
Remembering how C++ works, I realise this is unhittable code, a call to `new` can return a pointer or throw and exception.  Neither of which woudl get us to this branch.