Validation for update profile

Update profile validation with a list of localised validation messages at the top of the component and highlighting of erroneous fields
Selected value in dropdowns is also verified, if someone tries to sneak in their own value, validation will catch it.
*Note: This doesn't make use of the i18n library, but since this validation is functionnal, no futher time will be spent on it. At some point, change should be done to ensure uniformity.
![updateprofilevalidation](https://cloud.githubusercontent.com/assets/3430891/5330009/e99de6b8-7d9d-11e4-9186-6b172d626d15.PNG)

add email validator
http://validatejs.org/#validators-email