Haskel implementation.

Uses Cabal as the go to way to configure, build, install
third party packages and run tests.

The build is run during npm install, and handles build
errors gracefully, given how quiet the install is.

This also includes a lot of refactorings and tweakings for
the top level project.

Also adds the `-s/--string-compare` option to pass to the Haskell CLI.
Still need that for Ruby.
Adding supported languages in keywords should show up in search.
v0.2.0 (main)

Haskell support.