Utility: don't allow non-unique Resource groups.

Each group should fully register and unregister itself, no partial
(un)registration is allowed. If the group is already present on
registration, nothing is done, if the group is not present on
unregistration, assertion is fired. The assertion should be fired also
in the first case, but my poor understanding of C++'s static
initializers leads to weird behavior -- the initializer is either not
run at all (it gets scrapped at link-time) or it is run twice (it is
referenced, thus it is run and then run again from the place where it
was referenced.
Utility: using more of Containers::Array in Utility::Resource.
PluginManager: fixed typo in docs (beggining).
Containers: ability to create zero-initialized Array.
PluginManager: fix and test wrong plugin version and interface errors.