Add @Unique annotation

This annotation will specify that a column is to be unique and as such
can be used as a candidate key. As written, this annotation can be
combined with any other annotations.

There is a provided test which fails as written since it relies on an
actual database.

The annotation can be used as follows:

```java
public class MyModel extends Model {
    @Unique
    private String name;

    @Unique(ConflictClause.FAIL)
    private String email;
}
```