Initial commit with build system and basic module loading.
Added test modules, added command line config module, updated test framework, and worked out main module loading loop.
Switched to regular library modules to be able to use them for linking dependencies.
Reworked module dependency code, added more test cases, removed exception macros.
Added option handling, reorganized test framework, updated kernel and module handling.
Added both child and parent dependency tracking lists in module, fixed module unloading order.
Switched to a recursive loading/unloading algorithm for modules instead of a iterative non-recursive one.
Added manager mapping interface to kernel, allowing objects to be stored by key and found by other modules.
Improved code coverage.
Added valgrind supressions for dlopen calls, cleaned up valgrind warnings in command line test.
Removed the use of exceptions due to them not being reliable across shared object boundaries on all platforms. While reworking the interfaces to support this, I also removed the Kernel method dependencies in Module. I also removed the config command line module since this really belongs in the kernel. Added verbose flags to help with debugging.
Traced down all locations where exceptions could be throw and caught to translate to error strings. Added notice/info/debug messages for core library, other modules will use a modular logging service. Renamed tests to be more unique.
Split CommonError base class out into a separate header, improved test coverage.
Reorganized Kernel components.
Reorganized kernel logging, introduced modular kernel log provider.
Moved logic of module loading back into Module class.
Updated test cases and improved coverage.
Added std:: namespace prefix to va_list type in headers for Solaris.
Added multiple path support with default and command line options. Cleaned up module logging messages.
Updated documentation and fixed some naming inconsistencies.