Added a null,singleton,uncons,takeWhile and dropWhile to Data.String

Added a null,singleton,uncons,takeWhile and dropWhile to Data.String.

I made the takeWhile and dropWhile functions foreign to avoid the unpacking overhead.
Purescript seems to generate semicolons after foreign function statements anyway.