Uniqueness check should only be skipped if the field is blank

Default behaviour for the uniqueness validator is to skip over a field if it is allowed to be blank or nil.  It *should* only skip those fields if they are also set to blank, otherwise uniqueness errors can occur.  Attached is a fix and an updated spec.