Add `validate_uniqueness_of_(:foo).allow_blank`

Complements [`validates_uniqueness_of(:foo, allow_blank: 
true)`](http://api.rubyonrails.org/classes/ActiveRecord/Validations/ClassMethods.html#method-i-validates_uniqueness_of).
I know you're just following the other tests that exist in this file, but I have a couple of issues with this and the other tests here:

* You're using `define_model_with_allow_blank` to define a model, and at the same time return an instance of that model.
* There is no indication in this test that `define_model_with_allow_blank` is defining the Example constant, so it feels like there is some magic going on in this test and it is not as isolated as it could be.
* If  `define_model_with_allow_blank` returned a class instead of an instance, you wouldn't need to reference the constant, you could just use the class and call `.create! on it.

Given this, would it be better to have `define_model_with_allow_blank` return a class instead of an instance?