library-level docs for collections

Adds a high-level discussion of "what collection should you use for what", as well as some general discussion of correct/efficient usage of the capacity, iterator, and entry APIs.

Still building docs to confirm this renders right and the examples are good, but the content can be reviewed now.
Unfortunately, our DList doesn't support them. In particular I'd advocate "I want to move around and insert/remove lots of values in the middle of the sequence" as one great use-case. But we don't have cursors :(

Really this is just matching with the pattern of me disambiguating our concrete names as the generic term, while emphasizing you *probably* don't actually want a DList.