Jb/638 cache leaf groups

Ich habe einen Spec für `Group#leaf_groups` geschrieben, den gab es noch nicht.
Außerdem habe ich es als Vorteil gesehen, zwei Methoden zu haben, damit der Spec vergleichen kann, zwischen ' cached_leaf_groups'  und `leaf_groups`.

Ansonsten wird der Cache immer gelöscht, Wenn ein Vorgänger oder Nachfahre der Gruppe geändert wird oder angelegt wird oder gelöscht wird.

Der Cache wird nach einer Woche gelöscht.

Alle Verwendungsstellen wurden ersetzt.