Mark libc math and string functions as pure where applicable.

A lot of the functions in core.stdc can be marked as pure, in particularly most of the math functions.  This is required for non-x86 platforms to be able to use std.math, for example.