Rewrote ui-validate to have support for ui-validate-watch

The tests have not been updated yet to reflect the new syntax
Updated syntax on old specs and stubbed new ones

I'm starting to wonder if perhaps we should make uiValidateWatch a separate directive with lower priority?
Fixed uiValidateWatch

For some reason I can't checkout this branch locally.

Everything seems to work now, just need unit tests and peer review.

This has a breaking API change, you now must wrap expressions in strings.
This is to allow 2-step parsing. Once for the object of validators, and again to validate.
Merge branch 'master' into validate

* master: (59 commits)
  Changed select2 directive to use $.trim()
  v0.3.1 polkadot-thunderstorm-sexypants
  Update package.json
  Rebuilding for fixes to the improper merge
  Removed bootstrap code that accidentally weasled it's way into the codebase
  Pushing v0.3.0
  Prevented scope bleeding on ui-reset
  Modified @blackbarn changes to uiReset
  Removed mask dependencies path temporarily
  Trying to get async unit tests working for tinymce
  Fixed keypress ability to handle multiple alternative combinations
  Added build versions of new shiv
  added doc to top
  first iteration of new statically defined tags for ieshiv:q:qs
  Stubbed out some more of select2 unit tests
  modal: sets focus on element with autofocus attribute when modal is shown
  Added a check to prevent recursive $digest in TinyMCE
  Fixed up the date (and tests) to deal with invalid dates
  Adding tests for false and undefined
  Added graceful degredation to uiDateFormat when the values are falsy
  ...
Trying to flesh out validate specs (need help)
Merge branch 'validate' of git://github.com/angular-ui/angular-ui into validate

* 'validate' of git://github.com/angular-ui/angular-ui:
  Fixed uiValidateWatch
Fixed the unit tests
fix(date): Add check for existence of controller before calling $render
Update modules/directives/validate/validate.js

Using $modelValue instead of $viewValue for ui-validate-watch
hack(mask): Comment out annoying failing tests
test(date): input should not have focus after date selection
fix(date): Blur input element after date selection
fix(date): Do not leave inputs on the DOM after the test
Updated CodeMirror test to read value from CodeMirror correctly
Merge pull request #346 from cymantic/master

Minor change to code mirror spec to read changes from the CodeMirror instance
Add 'dist' task to specify build directory
Merge pull request #356 from angular-ui/grunt

Add 'dist' task to gruntfile to specify build directory
refact(if): tidy up if and remove non-useful event.
Merge pull request #347 from ProLoser/jq

Enhancements to the passthrough directive

Fuck yeah! Took damn well long enough!
Merge pull request #365 from angular-ui/if

refact(if): tidy up if and remove non-useful event.