Changing false validations to return invalid value

Currently, when a validation returns false, undefined is returned out of the ui-utils validate functionality and is then set on the model. This means that the original value passed in cannot be used which is useful for displaying what a user may have entered wrong in an element.  

Also adding tests for this. 

This is related to similar issues discussed in this issue about ng-pattern: angular/angular.js#1412.  This work is piggy backing on PR https://github.com/angular-ui/ui-utils/pull/149 which @blowsie previously made.