Домашнее задание №9

улучшена читаемость кода. В данном коммите кеширование не реализовано ни
для групп, ни для контактов. Оно реализовано в следующем коммите (ДЗ №8)
Надеюсь ничего, что я их делаю не в том порядке.

Я сделала, согласно замечаниям, метод chooseRandom()  общим и для
контактов и для групп. Остальные замечания пока что исправить не успела.
Но обещаю, что сделаю