Add new information about processing method to perunRequest

 - add endTime and result to perunRequest object
 - change behavior of saving perunRequests, GET will not be saved, PUT
   and POST yes
 - when call ends, save endTime and result to perunRequest if is PUT or
   POST type
 - when some request ends, remove all requests older than defined time
   from list of pending requests
 - set exception to result only if caller throw this exception
CORE,GUI: support for long requests

- Added timestamp mapping for requests.
- Requests are checked on timeout, no message is shown.
- Fixed code indentation.
RPC,GUI: support for long requests

CORE+RPC

- PerunRequest object now contains callbackId, which is sent with every
  callback from GUI (it is timestamp). It's used to address each unique callback.

- Removed sessionId from PerunRequest, since it was the same for all requests
  on one log-in. It was not logged or used anywhere and we couldn't address
  specific request by it.

- Pending requests are now stored in ConcurrentSkipListMap to allow simpler
  addressing by their callbackId.

- GetPendingRequests can send "callbackId" to get specific pending request.
  If parameter is missing, then list of all pending requests is sent back.

- When returning PerunRequest, JSONP serializer ignores perunPrincipal parameter.

GUI

- POST calls longer than 5 minutes display warning about pending request.
  Action in UI continues once all calls are resolved or user can simply close
  the warning confirm.

- GetPendingRequests checks for concrete request, not all and ignores any
  error in order to prevent bloating screen with error messages.

- Updated PerunRequest to match core version.
Merge pull request #618 from zlamalp/stavamichal-perunRequestWithInfoAboutProcessingMethods

RPC,GUI: Support for long requests from GUI
GUI: Added option to force group synchronization

- Added "Force synchronization" button on Group synchronization
  info pop-up.

- Also fixed display of sync. interval when less then 1 hour.
Merge pull request #621 from zlamalp/synchro

GUI: Added option to force group synchronization
GUI: Handle also 403 error code

- When contacting Perun, handle also 403 Forbidden, which happens
  when you have valid session, but with different server or your
  session is expired but browser uses cache.
Merge pull request #623 from zlamalp/forbidden

GUI: Handle also 403 error code
GUI: Proper handling of all HTTP return codes

- Display proper error message on any http return code != 200.
  Our special cases are handled as of until now.
- Code simplification.
Merge pull request #624 from zlamalp/json

GUI: Proper handling of all HTTP return codes
GUI: Fixed display of sync status of groups

- Value in "synchronizationEnabled" attribute is String, so we can't
  just return value from attribute as JSNI boolean. It was wrong in
  conditions but correct on debug message.
- Added some null checks when processing RichGroups.
- Source format of JsonUtils.
Merge pull request #625 from zlamalp/sync

GUI: Fixed display of sync status of groups
New authz for topGroupCreator

TopGroupCreator can call getCompleteRichMembers and getGroups

GroupManager can call this methods anyway and topGroupCreator can easily
create group and become groupManager

This is hack for eduGAIN group service - because miniapplication for
eduGAIN group service call this methods at start and not when they are
really needed.
Do not set role VO_OBSERVER in eduGain registrar module

Users in eduGain group service should not see other user's groups
Hack to add perunv3/admin@META as privileged user
All VO edugain_group members get groupManager of members group

Without that they can't see other members' preferred mails.
AuthzResolverBl.getPerunPrincipal calls refresh authz

It's important for external application / libraries to have up-to-date
authz for actor.