First draft of validation binding for chip

Example usage:
Method 1
-----
Define your validation options in your controller:
```
controller.validateFirstName =
     required:
       value:true
       errorMessage: "Woah, woah! You forgot to tell me your first name, bro."
     minLength:
       value: 5
       errorMessage: "Say, bro. This field requires at least five characters."
```

And in your HTML:
```
<input type="text" name="FirstName" validate-text="validateFirstName">
```

Method 2
----
You can define some validations right in your HTML like so:
```
<input type="text" name="FirstName" validate-text="required:true -e 'Woah, woah! You forgot to tell me your first name, bro.'|minLength:5">
```

In this example, validation options are added as `key:value` and separated with `|`. To add an error message to a validation option use the `-e` flag in the value portion of the option like so: `key:value -e 'Your error message'`

Validation Types
----
Validation types can be created and defined using `validate-VALIDATION_TYPE="VALIDATION_OPTIONS"`

If a validation type is used but doesn't have any rules defined for it, it will pass validation but will throw a warning in the console.

Moving Forward
----
Would like to be able to define validation rules on the application level instead of within the validation script - some basic validation options could remain baked in, but for the most part I think it would be nice if you had to explicitly define your validation rules to suit your app.
Perhaps we can add an `invalid` object to `controller.validation` that errors can be added to by `element.attr('name')` if set, so that fancier things can be done in the UI when a field is invalid that can't be done with just a CSS class.

`<input name="firstName" validation-text="required"> ...somewhere else on the page... <help-text bind-if="validation.invalid.firstName">You must include your first name</help-text>`