Add :b to psci (+ some extra options?)

Following the discussion #661, add the means to browse the module's types from the repl.

Here is the possible outputs:

```sh
[nix-shell:~/repo/perso/purescript]$ cabal run psci
Preprocessing library purescript-0.5.7.1...
In-place registering purescript-0.5.7.1...
Preprocessing executable 'psci' for purescript-0.5.7.1...
 ____                 ____            _       _
 |  _ \ _   _ _ __ ___/ ___|  ___ _ __(_)_ __ | |_
 | |_) | | | | '__/ _ \___ \ / __| '__| | '_ \| __|
 |  __/| |_| | | |  __/___) | (__| |  | | |_) | |_
 |_|    \__,_|_|  \___|____/ \___|_|  |_| .__/ \__|
                                        |_|

:? shows help

Expressions are terminated using Ctrl+D
> :?
The following commands are available:

    :?              Show this help menu
    :i <module>     Import <module> for use in PSCI
    :b <module>     Browse <module>
    :m <file>       Load <file> for importing
    :q              Quit PSCi
    :r              Reset
    :t <expr>       Show the type of <expr>
    :k <type>       Show the kind of <type>
> :b
Module must be specified.
> :b Data.Eq
module Data.Eq where
import Prim ()
import Prelude ()
newtype Ref a = Ref a
foreign import liftRef :: forall a b. (a -> a -> b) -> Data.Eq.Ref a -> Data.Eq.Ref a -> b
foreign import instance eqRef :: Prelude.Eq (Data.Eq.Ref a)
foreign import instance functorRef :: Prelude.Functor Data.Eq.Ref

> :b Hello
Module 'Hello' not found!
> :b hello
(line 1, column 4):
unexpected 'h'
expecting name or end of input
```
Well, `[]` doesn't seem like a special case. Printing the members of an empty module will have the same result :) We might want to just indicate to the user that this is an empty module.

I was getting at the fact that this seems like a roundabout way of testing for an invalid module name. Why not just be explicit. After we get `st`, we can make the check immediately:

```
case () of 
  _ | moduleName `notElem` psciLoadedModules st ->
         outputStrLn "Invalid module name"
     | otherwise -> do
         e <- printModule moduleName e
```

or whatever. Really `PSCI` should be using `ErrorT` for these sorts of things.