Issue #331: Modifying the System.getEnv function to return IO (Maybe String) 

This solution may be sub-optimal: it may be the case that only one `isNull` function is necessary, using another `mkForeign` declaration that passes in a `[FString]` instead of an `[FPtr]`.

Test case:

```
module Main

import System

main : IO ()
main = do
  getEnv "Nonexistent-var" >>= print
  getEnv "PATH" >>= print
  return ()
```