Unique username validation directive

Created a directive to validate an input text field that is bound to a
username. This validator will check to see if the input field is empty
and let the user know that the field is required. It also checks the
username to see if it has changed from the original username and will
send the changed username to the backend to see if it is available. The
appropriate error will be shown to the user. It will also show to the
user if the username is available.

This update requires that angular is at version 1.3 or higher.

This validator should also be re-used for the registration page.