Bug 851763 - part 1: add support for wrapping self-hosted functions instead of cloning them. r=jwalden

--HG--
extra : rebase_source : 12bbbd1bc17bedc97a9da6189dd5c1c0773e54c1
Bug 837941 - Workaround: Use alternate prototype initialization for self-hosted List class.
Bug 837941 - Move initialization of self-hosted List class's prototype out of the List ctor. r=tschneidereit