Relax bounds & use a test-suite stanza

These are in two separate commits, hopefully that helps if you don't like the test-suite stanza change.

I switched the cabal file to use a test-suite stanza because it uses a more standard (less ad-hoc) method to enable/disable building the test suite (--enable-tests, vs. setting a per-project flag).

Put another way, I wanted to run the tests with the bounds changes, and I didn't feel like looking up the syntax to use cabal flags with sandboxes.