Don't propagate unique names to 'where'

Doing so breaks typechecking, leading to nothing working any more...
passing them to lifted 'where' definitions counts as a use in the
typechecker, so *any* where clause will fail to typecheck.

This is an effect of how 'where' clauses are elaborated, and is probably
not the best behaviour (though it is better than the default which rules
our where clauses completely) so we should revisit it later if
uniqueness typing turns out to work effectively.
Don't pass used unique variables to metavars

We can't use them anyway, and the resulting application won't typecheck
if we're not careful to remove them.
Merge pull request #1492 from edwinb/unique

Uniqueness fixes