TextSearch tests need to be executed manually because of strange bug where callActions that include the TextSearch module timeout (even if the TextSearch module is not connected). For manual tests, just run the main method of the TextSearchTest class.
Added database functionality.
Renamed Connection to Database and moved into utils.db package.
Major refactoring. Using sets in model classes and lists in controllers. Sorting is done only in the controller. Added custom exceptions for model conversion and text search. Removed unnecessary list operations. Moved filters below space iframes.