Utility: finally fixed missing declarations warning in resource compiler.
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.
Removed DISABLE_COPY() macro.

Not really usable anymore, as there are too many options about what to
disable and what not and the new way in C++11 is better.
PluginManager: strongly typed LoadState enum.

Moved it out of AbstractPluginManager to save some typing, added EnumSet
LoadStates to preserve old functionality (checking LoadState to set of
values). Slightly changed the names, as they make sense now because the
name is fully-qualified (AbstractPluginManager::Static would be
confusing, but LoadState::Static is intuitive). Also updated debug
output operator to include fully qualified name in output and added test
for it. Also function documentation now properly enumerates which all
values can be returned.
PluginManager: deinlined "heavy" functions.

Constructors, getters and setters which operate on strings are not
simple enough to be inlined.
PluginManager: documentation cleanup and update.

Private members are not needed in public Doxygen API documentation,
removing superfluous comments and converting the rest to normal
comments. Also removed from Doxygen public members which shouldn't be
used directly by users.
PluginManager: fixed naming of AbstractPluginManager::Version.

Also one error message had expected and actual value swapped, fixed
that.
PluginManager: no leading underscore in function parameters, it's ugly.
PluginManager: minor code cleanup.
PluginManager: leave LoadState in original state on failure.

Return failure from load(), unload() or reload(), but loadState() should
be left in state as if nothing happened, because the error doesn't
affect next calls to load() etc. (there might be already fixed plugin
files, removed dependencies and instances etc).
PluginManager: removed metadata reloading and reload().

Automatic metadata reloading on load() or unload() could lead to
unexpected behavior when the plugin suddenly disappears from the list.
Better solution is to allow this to be done only explicitly by e.g.
reloadPluginDirectory(). Removed reload(), as the function would now
just unload the plugin and then load it again, which is meaningless.

Not yet sure how to properly implement reloading plugin metadata for
single plugins.
PluginManager: using CORRADE_ASSERT() for static plugins errors.

The errors should be for developer, not for user, thus assert instead of
gracefully printing error and continuing.
PluginManager: inverted if block.

Less indentation is better.
PluginManager: don't just delete all plugin instances on destruction.

Do instead only simple unload() and assert its output. Its up to library
user to take care of proper manager destruction order, forcibly removing
the instances would do only harm.