CORE, RPC: added support for changing preferred email for users

- Added requestPreferredEmailChange() which stores change request
  and sends email notification with encrypted validation link.
- Added validatePreferredEmailChange() which takes encrypted parameters
  from email notification in order to perform change itself
  (set value to attribute).

Users can request mail change only for themselves. Mail validation is accepted only with
proper set of parameters and only if logged user is "target" of original change request.

Following properties must be added to perun.properties file before accepting this change:

- perun.mailchange.secretKey (key used to encrypt change request id)
- perun.mailchange.backupFrom (address used as from in mail notification)

A least one of following must be filled with non-empy (non-null) value:

- perun.mailchange.urlFed (URL to PerunGui with federation identity authz)
- perun.mailchange.urlKrb (URL to PerunGui with Kerberos authz)
- perun.mailchange.urlCert (URL to PerunGui with Certificate authz)
CORE: fixes for changing preferred mail for users

- Delete all mail change requests of user
  when deleting user from DB.
- Fixed error message
CORE, RPC: updated mail change verification process

- User can also verify mail changes for his service identities.
- RPC will pass URL of http request to "request change" method which
  will use it to generate validation link in email notice.
  This removes dependency on static configuration in perun.properties.
- If passed URL is not in valid format, exception is thrown, mail is not
  sent and no changes are made in DB.