Added $dirtyAfter state to form controls

This is my attempt to add features to client side validation and inline form validation.

The aim of having a $dirtyAfter state is to track user's progress and not display validation messages prematurely.