Validators

Some validators

part1: **Regex based validators**
- matchesPattern (pattern : string)
- isAlphanumeric
- containsAtLeastOneDigit
- containsAtLeastOneUpperCaseCharacter
- containsAtLeastOneLowerCaseCharacter

Might be useful e.g. for password validations:
```
let password = self.Factory.Backing(<@ self.Password @>, "", notNullOrWhitespace >> noSpaces >> containsAtLeastOneDigit >> containsAtLeastOneUpperCaseCharacter >> containsAtLeastOneLowerCaseCharacter >> hasLengthAtLeast 8)
```

part2: **Fixes for generic validators**:
- changed some names to make it consistent with string length validators.
- added `lessThan`
- fixed error messages
- added `isBetween`
Should we expose the predicate here instead of forcing it to be (=) ? This would make this validator more flexible.  We could also have two versions...  

I also wonder if the name should be more clear, ie: `containedWIthin` or something like that.  When I write this out as part of a method chain, ``in`` seems a bit out of place.