Document compiler-generated `opAssign` for `std.traits.hasElaborateAssign`.

* also add unittests
Merge pull request #1252 from kiith-sa/patch-2

DDoc -std.stdio: exceptions thrown by C-like API.
Fix `std.traits.hasElaborateAssign` for static arrays.
Merge pull request #954 from denis-sh/fix-std.traits.hasElaborateAssign

Fix `std.traits.hasElaborateAssign`
Merge pull request #1238 from denis-sh/add-note-about-Issue-7648

Add note about Issue 7648 to `std.stdio.File`.
Remove deprecated std.ctype, std.cpuid, and std.perf.

These were supposed to have been removed before now.
DDoc tweaks and fixes
Merge pull request #1267 from CyberShadow/ddoc-syntax-fixes-4

DDoc tweaks and fixes
DDoc: file.d: Exceptions thrown (except slurp)

Added all missing Throws:, with the exception of slurp,
which might throw pretty much anything
(at least Exception, ErrnoException, ConvException, maybe FormatException, gave up on trying to parse all the called code
(main offenders are formattedRead and the File ctor)).
DDoc (minor): array.d: Appender.shrinkTo throws Exception

Specified that Exception gets thrown (the previous ddoc didn't make sense).
Merge pull request #1269 from kiith-sa/patch-4

DDoc (minor): array.d: Appender.shrinkTo throws Exception
Merge pull request #1268 from kiith-sa/patch-3

DDoc: file.d: Exceptions thrown (except slurp)
add missing dependency
Merge pull request #1270 from dawgfoto/makeDependency

add missing dependency
Merge pull request #1264 from jmdavis/ctype

Remove deprecated std.ctype, std.cpuid, and std.perf.
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)`.
Fixed regex loop-back stream to start from the correct position