detect uniqueness on composite keys

Resolves #6