Fix bug when counting open functions in JavaScriptWriter
Make ValidatorFactory initialization easier

Now ValidatorContructor class determines what are the required and
optional parameters for the Validator. It examines each InitMethod for
parameters and uses them to see which are required and which are only
optional.

Added RequiresAnnotations annotation for validators that don't have any
init methods