Unchecked assumes

This branch changes the semantics of the `assume` annotation. We use the assumed type, but don't try to prove it, i.e. we check the bound expression against `TRUE`.

With this patch we shouldn't have to do the `undefined` hack anymore. See [tests/pos/Assume.hs](https://github.com/ucsd-progsys/liquidhaskell/blob/11e9af09dac559c166f00695192d9d052b219d9c/tests/pos/Assume.hs) for an example.