Fixes uniqueItems validation to match intended spec and avoid error on empty array

The [JSON schema spec for uniqueItems](http://json-schema.org/latest/json-schema-validation.html#anchor49)  specifies that the "instance validates successfully if all of its elements are unique". I believe the intended behavior to be the opposite of what was originally coded (i.e., that each item should be distinct from the others in the list rather than should match every other item in the list).

This patch updates the behavior to match that understanding, with corresponding tests.

Another side effect of the previous approach was that checking of empty arrays [] also threw an exception under uniqueItems validation.