Depend on Cabal 1.18 instead of 1.17.

Avoids potential conflicts with old Cabal snapshots.
Change the error message.

See #1488.