* Управляющее меню выделено в отдельный класс MainMenu и больше не
использует закрытых (private) методов BSTree;

* Интерфейс класса BSTree переработан так, что вызывающей программе
больше не требуется прямой доступ к узлам Node* и закрытым методам
BSTree:

*  Добавлен метод BSTree::data(TKey), возвращающий значение указанного
ключа и выбрасывающий исключение, если узел с заданным ключом
отсутствует;

* В класс BSTree добавлена переменная-счетчик узлов дерева для
оптимизации вызова метода count(). Код методов insert(), _removeNode() и
clear() изменен так, что эти методы изменяют значение счетчика в
процессе работы. Метод count() теперь просто возвращает значение
счетчика;

+ Fix: Исправлена ошибка при удалении узла в случае, когда удаляемый
узел имеет двух потомков и происходит его замена узлом с наименьшим
значением ключа из правого поддерева;