Add %no_implicit directive

'implicit' is useful, but can cause problems when there are lots of
places implicit coercions can be applied. In particular, in Effects,
'lift' can be applied to each operation, and to the combination of
operations in >>=, so if there's an error the elaborator will try an
exponentially increasing number of things depending on the number of
>>=s.

This is a bit of an ugly hack, but it allows certain definitions (such
as >>=) to be non-coercible, so this exponential explosion doesn't
happen any more.

Fixes #1446