Validation tests for minLength, maxLength

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>
Build constructors in the dictionary, not the keyword builder

It is appropriate to fail earlier than validation in the event that an
appropriate constructor is not found.

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>