Added the ability to add constraints to capture node

This all takes place in CaptureNodeWithConstraint.cs. It allows you to define a capture in the following format {capture:constraint}. Available constraints are

{x:alpha}
{x:bool}
{x:datetime}
{x:decimal}
{x:guid}
{x:int}
{x:length(6)}
{x:length(1,20)}
{x:max(10)}
{x:maxlength(10)}
{x:min(10)}
{x:minlength(10)}
{x:range(10,50)}