Add API for the dependency manager.

The dependency manager is an extension to library system in SourceMod. It detects changes in libraries (dependencies) using OnLibraryAdded and OnLibraryRemoved.

It supports manual triggering of available/unavailable events so the libraries can initialize themself before declarig itself as available.

The dependency manager makes it easier for clients to wait for multiple dependencies to become ready. Most of the boilerplate code is handled and provided by the dependency manager.