Add allow_nil option to the validate uniquness matcher

This should fix issue #96.

I'm open to suggestion better ways to handle this.  One thing in particular is that I'm not thrilled about having to check for an existing nil in the valid_attribute method.  I dont' like the idea of mixing those concerns so any ideas on how to pull that out would be great.