Fix strideBack for ref ranges.
Added tests for reference type ranges to stride.
Fix for issue# 9456.

This change makes it so that decodeFront takes its range by ref and pops
off the code units that it decodes (unlike decode). It pretty much has
to do that, since it supports input ranges, and they can't do anything
else.
Swap a couple of overloads in std.utf.

This makes no semantic difference to the code, but it makes it so that
the attributes which are on one of the overloads don't make it into the
documentation (where they would imply that all of the overloads have
those attributes, which is not correct).
Minor tweak to decodeFront per review.
Fix `std.traits.hasElaborate*` docs for static arrays.
Document compiler-generated `opAssign` for `std.traits.hasElaborateAssign`.

* also add unittests
fix Issue 9976 - more compile time algorithms implementation used deep recursion

Reduce instantiation depth in staticMap, allSatisfy, anySatisfy, and Filter.
Merge pull request #1271 from 9rnsr/fix9976

Issue 9976 - more compile time algorithms implementation used deep recursion
[Refactoring] Use `FieldTypeTuple!S` instead of `typeof(S.tupleof)`.

`FieldTypeTuple` is what have to be used when searching through fields as it ignores hidden fields which we don't need here.

Replace in `std.traits.hasElaborate{CopyConstructor,Assign,Destructor}`. This is a refactoring change as hidden fields didn't affect these templates behaviour.
Merge pull request #1262 from denis-sh/use-`FieldTypeTuple!S`-instead-of-`typeof(S.tupleof)`

Use `FieldTypeTuple!S` instead of `typeof(S.tupleof)`.
Enable test for issue 8321
Merge pull request #1276 from 9rnsr/fix8321

Enable test for issue 8321
Merge pull request #1129 from jmdavis/decode

Fix Issue 9456 -  decodeFront is inconsistent in whether it pops elements off of the range or not
Merge pull request #1260 from denis-sh/fix-std.traits.hasElaborate-docs

Fix `std.traits.hasElaborate*` docs
Make std.stdio.File 'package' accessible

This is required in the new std.process.
StdioException: No system error msg when errno==0
Renamed File.isPipe to isPopened

Now that std.process will support pipe creation, the name isPipe will
only cause confusion, as it will in fact be false for "normal" anonymous
pipes.  It is only true for files opened by popen(), and its purpose is
simply to ensure they are closed with pclose().
fixed receiveTimeout to not wait beyond the specified limit in the event of multiple internal waits
std.process redesigned

This is a complete redesign of std.process. It has passed the community
review and is now ready for inclusion in Phobos master.

Review and vote:
http://forum.dlang.org/thread/gclsbrghhjitnfderoos@forum.dlang.org
http://forum.dlang.org/thread/mgstnugckomjpvdgpudz@forum.dlang.org