[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
I think we've agreed to fix this with an API addition to the Sproutlet interface to allow a Sproutlet to query the status of a downstream fork - which will allow it to distinguish between a received final response and a locally detected timeout or transport error.  I'm not going to make this update before merging this code to dev - but will do it later this week under #400.