Autocompletion rewritten

List of changes:

 * ModuleInspector:
  * Collect documentation with Documentation.Haddock module
  * More info about data, class and type (context and arguments)
  * Function declarations without type signature
  * Accepts ghc_opts for use with haddock
 * `haskell_docs` used to get docs for symbols in cabal
 * Show symbol info command, shows symbol name, type (or context and args for data/class/type) and docs. Works both for symbols in sources and in cabal/cabal-dev
 * Fixed '(' and '.' issue for forced completion
 * Autocompletion shows hints about type of functions and args of data, it also supports inserting snippet for data/class/type
 * Info about symbols is now unified and stored in symbols.py
 * ghc_opts setting used for ghc-mod and ModuleInspector

@nh2, can you look at this branch? There still may be many bugs etc.

SublimeHaskell 'ghc-mod browse' all modules, that can take many time, but seems, that it doesn't block anything. But if we will 'ghc-mod browse' only used modules, autocopmletion will not work until you save&build (so that ModuleInspector will see new module imported).
There are also `ghci_info_symbol` function in ghci.py, but it works very slow, so it's used only on Symbol Info command. I'll see If I can patch ghc-mod, so that it will show detailed info, not only name.