Added support for ngRequired directive and changed behaviour for "required"

I think the behaviour for the "required" attribute was wrong. If I define a checkbox to be required, I would except it would only be valid if the checkbox is checked. Furthermore, it didn't revalidate if a expression in a ng-required attribute has changed.