HOME-90 QA-4210 Bad performance with LDAP

In this modification I'm introducing caches for non existant groups and users. I'm using seperate caches to be able to control their expiration and flushing independantly of the regular user and group caches.

I also did a lot of code cleanup and simplification, getting rid of the wrappers that are not necessary anymore since we have separate caches

In order to test this you must setup Jahia with a connection to an LDAP repository and test with non existing users and groups. For example you could add a group in the LDAP, add it to some ACLs and then remove the group from LDAP, flush the LDAP caches and check that everything works well.

 In this patch I didn't setup specific expirations for the LDAP caches I just rely on Jahia's default EHCache TTL values but we could maybe provide a specific configuration if a client needs it.

 Finally this patch does not implement the new flushing REST API proposed in QA-4210, this should probably be extracted to a BACKLOG ticket as it is a nice feature but not required for this modification.