Singly and Doubly Linked List collections in standard library

I put up a sample as a Gist. I haven't tested any of it; either the range types or the protocols.

Especially the protocols, since I haven't implemented a conforming type yet. If someone wants to try it to see if my philosophy on the core methods, default implementations, and/or extended methods work, go ahead.

Oh, anyone have any ideas on how to make Slice work for PoorlyTransferableCollection? I tried once, but got stymied by the members being restricted when you're not on the Standard Library team. (The "base" is read-only for outsiders and read-write only for internal.)