Rewrite hoogleLocal expression

The old expression was broken. This began as an attempt to fix it, but
the new expression is substantially different. It takes advantage of new
features that obviate the need to patch Hoogle. It comes with several
limitations. The new expression does not build the database in parallel,
although it does not take long. The new expression also does not support
downloading databases from the Hoogle instance at haskell.org; those
databases link to Hackage for documentation, defying the meaning of local.