Add Email Domain Whitelist Validator

This adds the ability to define email domains that are whitelisted for
a project. The emails may be configured using specific emails,
patterns, or regular expressions. When enabled, all emails that do not
match will have push rejected.

Defining the whitelist is done on project level in the
project.config file of the project. Multiple entries can be defined
and usage can be mixed.

This would allow only specific email addresses to contribute, while
all other would be blocked. This could provide a sanity check as some
email addresses might not be allowed to contribute from.

Change-Id: I5d484e25c05b15630ce41101d959f9c39990baf7
5 files changed