Make std.math compile on Linux/PPC64.

Adds some constants and moves some code to allow std.math to be
compiled on Linux/PPC64.
Fix big endian version of ripemd.

The upper bound of the array index is obviously wrong.
Fix documentation of std.digest.ripemd

Fixes the broken link to the source file and beautifies the reference list.
Fix big endian version of MD5 and RipeMD160.

Obviously the code has never been run on a big endian architecuture.
With these changes the unit tests passes on Linux/PPC64.
Fix big endian issue in std.internal.math.biguintcore.d

The unit tests passes with this change on Linux/PPC64.
Fix endian issues in std.md5

I replaced the methods Encode and Decode with calls to methods
from std.bitmanip. This solves the endian issues.
Fix endian issue in std.bitmanip

BitArray uses an array of size_t elements but opEquals() and opCmp()
cast it to an array of ubyte elements. On a big endian architecture
the bytes are accessed in wrong order.
The solution is to always use size_t elements.
Cleanup digest source.

Removes an unnecessary cast and variable initialization.
Fix endian-dependent unit test.

The input to the digest tests is not endian-neutral. This is now
considered. The big endian values were derived by writing the data
into a file and running md5sum and sha1sum with the file as input.