Added possibility to cache GHC type information.

Added a new experimental feature that allows storing the GHC symbol
data to a background file. This data is used in the _t and balloon
commands to show the type information for a symbol.

A hidden file with a same name as the original haskell file but
with the ".sym" extension is used to store the type dictionary. When
this file is available it is used to populate the ghc_types
dictionary. It is still possible to reload the symbol information
from GHCi using the :GHCReload command.

The feature is enabled by setting the g:ghc_symbolcache variable.
If this variable is not defined, the symbol information management
should work as before.