New method getDestinations(sess)

- added new method getDestinations(PerunSession sess) into ServiceManager
- added into RPC enum
Added implementation of getNewExtendMembership(Vo, loa)
Create new attributes for synchronization information about group

- create new module for existing attribute synchronizationEnabled,
  testing value (true, false or null)
- create new module for new attribute lastSynchronizationState, no check
  needed, only information about attribute
- create new module for new attribute lastSynchronizationTimestamp,
  check if timestamp is in correct format
- use new attributes in GroupSynchronizerThread in GroupsManagerBlImpl,
  method run, try to save information about synchronization of this
  group
- create new method saveInformationAboutGroupSynchronization in
  GroupsManagerBlImpl running in the new transaction (use in
  GroupSynchronizerThread)

------------------------------------------
IMPORTANT: Need to do after merging this commit

1] create two new attributeDefinitions
 - urn_perun_group_attribute_def_def_lastSynchronizationState
 - urn_perun_group_attribute_def_def_lastSynchronizationTimestamp
2] set rights for these two attributeDefinitions
3] add these information to the changeLog
REGISTRAR: allow to check for similar users when no appId is known
RPC: support for checking similar users based on latest application
GUI: check for similar users by latest application

- also return rich users to display better data
- updated messages
REGISTRAR: fixed SQL in check for similar users
GUI: better display of results when checking for similar users
REGISTRAR: better sorting of applications to show latest first
GUI: better sorting of applications to show latest first
Merge pull request #429 from zlamalp/similar

REGISTRAR,GUI: improved UX when searching for similar users
REGISTRAR: base for user mail invitation support

- Added new notification type.
- Added empty methods (authz only) for sending an invitation.
- Added check and creation of required attribute.
REGISTRAR, RPC: added implementation of invitation notifications

Implemented sendInvitation() method.

- Invitation to VO or Group checks for membership and offers linked
  application forms (VO->Group).
- Invitation can be posted to existing user or to email address.
- Language for user is taken from his preference, if not set, from VO/group setting.
- Language for unknown person is manually selected or taken from VO/group setting.
- From address is same as for other notifications.

Fixed link replacements for applications to Groups.

Source formatting.

Added method sendInvitation() to RPC.
GUI: testing support for user invitations

- New notification template can be created from GUI.
- Added appropriate help.
- Added callback to invite user, candidate or unknown.
- Invite unknown user from VO overview.
- Invite known user from Add member tab.
GUI,REGISTRAR: fixed bugs on invitations

- Correctly replace invitation links.
- Use mail subject as subject.
- Allow to invite known/unknown users into VO/Group from GUI.
  Button is on VO Overview / Group members and also when
  adding existing member you can use invite instead of add.
REGISTRAR: Allow to use custom Application URLs for invitations.
Merge pull request #416 from zlamalp/invite

REGISTRAR, GUI: support for inviting users to VO/group
REGISTRAR: check for similar users when auto-approving application

- If VO's initial application is set to auto-approve mode, then stop
  the process, when similar users are found and notify VO admin
  about the problem. Application can be then approved manually.

- Other types of application doesn't create new User, so we don't have
  to check for similar users.
getExtSourceAttributes moved to getExtSourceById

- getExtSourceAttributes erased and all its functionality is now in
  getExtSourceById
- added new mapper for attributes from table ext_sources_attributes
- setAttribute method added into ExtSource object
Added test for getDestinations