Introduce DSL to describe validations and ...

refactor length validation to start with.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Running time of the validation can be measured in ValidationTest#run.

Signed-off-by: Anurag Priyam <anurag08priyam@gmail.com>
Merge pull request #10 from yeban/refactor

Refactor validations.