New Container

Turn std.container into a package.

Delete container.d

Remove totalcontainer from package.
Create std.container.util.d and reference it from other containers.
Correct code coverage for containers.

Add containers for unit testing.

Make std.container.util public from any module.
Move around imports (avoid version(unittest)).

Remove irrelevant unittests.
Make std.stdio.LockingTextWriter.put and lockingTextWriter @safe
Update to git head.
Merge totalcontainer.d with package.d
Make trustedFwrite static
Make trustedFPUTC and trustedFPUTWC static
Add unittests bug #12889
Add static keyword to trustedFPUTC/trustedFPUTWC
Merge pull request #2225 from tom-tan/trusted-stdio-LockingTextWriter-put

Make std.stdio.LockingTextWriter.put and lockingTextWriter @safe
Revert "Merge pull request #2225 from tom-tan/trusted-stdio-LockingTextWriter-put"

It broke win32 build.

This reverts commit dc0b441bb1849ef9c69da7901b3eef0350ada47e, reversing
changes made to 285d027677fe8d340c57632b5ce89ef247714dc0.
Merge pull request #2255 from 9rnsr/rev_pull2225

Revert "Merge pull request #2225 from tom-tan/trusted-stdio-LockingTextWriter-put"
Merge remote-tracking branch 'origin/container_package'
std.array.replaceInPlace: Don't call remove to remove nothing
Fix #9819: Allow access to named tuple's names

Adds a `fieldNames` alias to `std.typecons.Tuple` to return the user-supplied
names.  The actual fields are in an expression tuple, so the
user-supplied names are simply aliases, which previous to this PR, were
not accessible.

https://issues.dlang.org/show_bug.cgi?id=9819

Fix Issue 9819
Merge pull request #2239 from Safety0ff/fix12889

Unit tests for bug #12889 - replaceInPlace overlapping array copy error
Implement issue# 12886: function for parsing RFC822/5322 date-time format.

The RFC 822 / 5322 date-time format should be taken out and shot, but
unfortunately, it _is_ used in e-mail, HTTP, RTSP, etc. Most code which
deals with it is probably going to need to handle the rest of whatever
spec it's interacting with rather than just the date-time format, but
there are cases where this would be useful on its own (e.g. Martin
apparently needs something like this in the dmd installer), so I'm
adding a function to parse this format and return a SysTime to
std.datetime.

However, that's all I'm adding. I find it very hard to believe that
anyone who needs to produce this particular format doesn't need a lot of
other functionality specific to whatever spec they're dealing with, and
the function for generating the date-time format presumably will be
included with that (and I definitely don't want to encourage this
format's use anyway, since it's a horrible format). So, I'm just adding
a function for parsing the format, not generating it.

parseRFC822DateTime _should_ fully and correctly implement the format as
outlined in RFC 5322 (including the obsolete syntax from RFC 822 that no
one is supposed to be generating anymore and the comment folding
whitespace nonsense that should never have been legal anywhere but at
the end). And the tests are quite thorough, so it's unlikely that I
missed anything, but you never know.
Merge pull request #2253 from jmdavis/rfc822

Implement issue# 12886: function for parsing RFC822/5322 date-time format.
Remove std.traits.unsigned as scheduled.
Move along some overdue deprecations.
There's no point in scheduling deprecations anymore.

deprecate no longer generates an error, so we might as well just
deprecate directly.