added AssertionAggregate and AssertionManager

AssertionAggregate allows aggregating multiple assertion to be associated with one ACL rule. This has been done without modifying a single file of existing code.

AssertionManager is a simple Plugin Manager allowing to declare Acl asseertions as services. It can be used by AssertionAggregate to add assertions by passing their service name. It could also by used by the Acl component itself, and should be declared as a default service, so that it could rely on Config service to get intialized, but those features would need to alter existing code and I didn't want to do that at this time.
minor styling fixes based on @samsonasik comments
changed the shareByDefault value to true for AssertionManager

there's no need for reinstantiating assertions each time it should be verified...
shorten a very long code line (not PSR2 compliant)
removed useless empty DocBlock
Merge pull request #5628 from gauthier/acl_assertions_enhancement

Acl assertions enhancement
[#5628] CS fixes

- trailing whitespace
Merge branch 'feature/5628' into develop

Close #5628