Fix for issue #326.

For a foreach (int i, dchar c; str) loop the compiler generates a
delegate with a different type signature then the runtime uses.
The runtime declares the parameters as void* and passes a pointer
to a size_t variable for the index. The code generated by the
compiler expects a ref int. This works on a little endian architecture,
but on a big endian architecture the index is always 0.
This fix changes the parameter type of the passed index to size_t
and generates a cast to the type specified by the user.
Linker flag /LARGEADDRESSAWARE is not required with LLVM 3.3.

With a recent commit support for the missing relocations was added.
This change removes the flag from the linker command line.
Fix linking issue with std.math.yl2x (issue #305).
Add changes to druntime and phobos.
Revert "Linker flag /LARGEADDRESSAWARE is not required with LLVM 3.3.".

There is still an issue left in LLVM. I need to investigate this further.
Fix endian issue in dmd2/mtype.c.

The initial value for floats was 0 and not NaN due to an endian issue.
This was discovered by a test in object_.d.