There is no use in duplicating these containers. It only means that we have to search both, duplicating the code.
[mk: renamed source files, applied coding style, reduced bloat, using MPD's threading library, using MPD's error reporting and logging library and refactoring, fixed lots of bugs]