Basic completion in GHCi
This patch adds completion support to GHCi when readline is being used. Completion of identifiers (in scope only, but including qualified identifiers) in expressions is provided. Also, completion of commands (:cmd), and special completion for certain commands (eg. module names for the :module command) are also provided.