Disabled profile edit submit while errors exist

Added an extra check on the profile edit submit button to disable the
button if there are error on the profile edit form. This required moving
the sameUsername and sameEmail out of the validation directives and into
the templates.

Also two minor fixes: the edit profile button is now hidden while in
editing mode, and moved from of the $q stuff around in the directives to
keep from generating extra promises.