added SingleDbAuthManager

The class fetches all auth items at once and store them in memory in a tree-like array to avoid any further SELECT queries.
This tree is synchronized with the database when modified.

It's necessary when managing very large amount of auth items.
Also, this works nicely with current CachedDbAuthManager in production enviroment.

Class is modeled after CPhpAuthManager and tested using tests from the framework.

Further adjustments could include caching of the tree structure to avoid rebuilding it with every request.