std.algorithm: Fix the hasAssignableElements restriction from HeapSort

This restriction seems unnecessary (as HeapSortImpl uses swap/swapAt,
which does not require assignability), and was getting in the way of
e.g. sorting a range of Refs. The range can satisfy either
hasAssignableElements, or hasSwappableElements
Switch to matchFirst/matchAll for examples
Use documented unittest rather than code dup
std.algorithm: Allow proxySwap-using swap overload to take by ref
std.algorithm: Add test for sorting via proxySwap
std.variant: Adjust test for ARM

See http://d.puremagic.com/issues/show_bug.cgi?id=10879
Fix frexp for systems with 64bit reals
Fix isInfinity for systems with 64bit reals
Fix NaN for systems with 64bit reals
[ARM] Implement remaining std.math stuff
Merge pull request #1863 from jpf91/arm-5

[ARM] Implement remaining std.math stuff
Merge pull request #1860 from jpf91/arm-2

std.variant: Adjust test for ARM
Merge pull request #1856 from eco/do-not-use-match-in-docs

Switch to matchAll() and matchFirst() in std.regex doc examples
Merge pull request #1858 from CyberShadow/std-aglorithm-sort-nonassignable

std.algorithm: Remove the hasAssignableElements restriction from HeapSortImpl
DDoc: elaborated on 'scalar type' and 'basic type'

Previously it wasn't completely obvious what a scalar or basic type is in std.traits; now it's described explicitly.
Update comments to match new std.regex examples

Example was switched to matchAll and 'g' was removed but the comment got left in. Another comment about match wasn't switched to matchAll.
Merge pull request #1867 from eco/patch-13

[minor] Remove comment about 'g' flag (no longer applies)
Merge pull request #1868 from kiith-sa/patch-8

DDoc: elaborated on 'scalar type' and 'basic type'
rename phobos.html => index.html

- same as in posix.mak
Merge pull request #1872 from MartinNowak/indexHTML

rename phobos.html => index.html