Fix std.traits for large input

std.traits: EnumMembers, isExpressionTuple, isTypeTuple & Largest balks
at large input
EnumMembers now works with single-member enums.
Merge branch 'master' of https://github.com/D-Programming-Language/phobos
Merge remote-tracking branch 'upstream/master'
It appears that whoever changed the name of the range parameter to encode didn't rename the parameter everywhere in the function.
issue 10909 toImpl support for bool narrowing conversion. mostNegative support for bool.
Changed an assert to a static assert, to cause an error at compile time rather than runtime,
Added a set of unit tests to ensure all branches of encode(E, R) get exercised.
Undo some changes to work around bug. Oh well.
sidestep issue 10928
Remove explicit qualifiers for translate overloads which take a buffer. Use std.range.put instead of member function put when writing to the buffer.
Merge pull request #1537 from AndrejMitrovic/Fixup1501

Fixup Pull 1501 - translate shouldn't have explicit qualifications, etc.
Merge pull request #1535 from blackwhale/fix-lambda

Sidestep issue 10928
Merge pull request #1400 from BioTronic/master

Fix 10569 - std.traits: EnumMembers, isExpressionTuple, isTypeTuple & Largest balks at large input.
Mark std.string.translate, makeTrans and unittests as @safe and pure
More @safe and pure for std.string.translate
Add doc note about EnumMembers returning duplicate member values.
Merge pull request #1541 from AndrejMitrovic/Fix10951

Add doc note about EnumMembers returning duplicate member values.
Additional fix for issue 9565
Merge pull request #1514 from Orvid/master

Fix a set of typo's in std.encoding