[WIP] Unique validation predicate. 

I've so far I've converted this from https://github.com/hexpm/hex_web/blob/master/lib/hex_web/validation.ex#L29 to the new format. And documented it. 

I'll need to test it, which I assume I will want to have a mocked up repo for. 

Any advice/feedback is welcome. 



In some cases you want to preserve casing in fields such as username but still keep the case-insensitive check. Should you add a downcased field for the check in those cases?