Move utility functions to autoload/ghcmod/util.vim
Refactor :GhcModType stuff

ghcmod#type() is a merely a wrapper for `ghc-mod type` command.
:GhcModType's definition is moved to ghcmod#command#type() and its
*persistent trick* stuff is moved to ghcmod/type.vim.
ghcmod#wait() -> ghcmod#util#wait()
Split ghcmod#info()
Split ghcmod#make()
Split ghcmod#async_make() and improve callback mechanism
Split ghcmod#expand()
Move ghcmod#check_version() to ghcmod/util.vim for faster boot
Move ghcmod#preview() to ghcmod/command.vim
Don't escape the output from ghcmod#info()
s:buffer_path()
For consistency: ghcmod#command#preview() -> ghcmod#command#info_preview()
Add more [!] variants for consistency
Cosmetic changes