feat(ngModel): add $touched and $untouched states

Sets the ngModel controller property $touched to True and $untouched to False whenever a 'blur' event is triggered over a control with the ngModel directive.

References #583
I don't like that we get one extra-digest here. May be it's better to move it inside upper $apply block and check event object for blur event?