Improve `egrep` hack in `haskell-session-project-modules`

With this, egrep error messages are silenced and the pattern are more
tolerant with respect to whitespaces in the `module`-line
Mark a few yasnippet related functions as autoloaded

This simplifies the definition of haskell snippets; e.g. now one can define the snippet simply as

    # key: imp
    # name: import
    # condition: (= 3 (current-column))
    # --
    import `(haskell-yas-complete "Module: " (haskell-session-all-modules))`

without having to declare to `require`s