async validations to check username and email; refactor angular js validator to be simpler (use  api)