Use default constructor or .empty() instead of (comparing with) "".

Default constructor won't perform strlen() and then copy on the char
array and might, depending on std::string implementation, save one
unnecessary allocation. And doing this:

    if(str == "") {

instead of this:

    if(str.length() == 0) {

or even better this:

    if(str.empty()) {

is just purely wasteful.
Using empty() instead of comparing size() with 0.
Some const fascism.
Fully compilable plugin management example.

Moved the code from the documentation to actual files to have real
compilable version.
Using nullptr instead of 0.
examples: better interface name for plugin management example.
Removed OLD leftovers from Kompas.

KompasCore got errorneously renamed to CorradeCore. Also updated naming
style.