Test HsImport using Cabal test-suite functionality

Previously HsImport built a "hsimport-tests" executable, but this
has a few drawbacks. Firstly, one cannot run tests using `cabal test`,
which is the idiomatic way to run tests. Due to non-standard testing,
automated packaging for distributions such as NixOS can't be
performed.

Another reason to prefer test-suite is that test dependencies are
only required if tests are going to be ran, and the user will not
end up with a test binary on their $PATH after installation.

To use the test-suite functionality, I've slightly modified how
tests are ran. Rather than invoke the actual `hsimport` binary,
the tests now link against HsImport as a library, and call `main`
manually. This means that we don't quite test the main entry point,
but we still test the majority of the code. This change was
necessary as `cabal test` doesn't have `hsimport` in the $PATH,
and this felt simpler than trying to find the binary or assuming
it was installed.

This commit also increases the upper-bound on `tasty`.