Unseal containers

See #1845 & https://d.puremagic.com/issues/show_bug.cgi?id=11889 .

Per @andralex and walter (http://forum.dlang.org/thread/mailman.281.1389340467.15871.digitalmars-d@puremagic.com#post-lap6dn:2483a:241:40digitalmars.com), this "unseals" containers.

@andralex , I think this is a more "correct" version of what you threw together in #1845 . I'm assigning it to you.

--------

I ended up keeping the `move` family of functions because:
a) Outright removing them would require the caller to have `std.range` imported to not break code.
b) They can't be deprecated, as the deprecated function would have priority over the ufcs range overloads.
c) The range overloads would only work for the ranges, but not the containers themselves.
So I ended up doing nothing about it. It can't hurt anyone. Also, funny story, `DList` doesn't have them.