fix reverseDepends to properly resolve dependencies recursively

The current implementation was only returning direct dependencies,
which was breaking its expected behaviour in
cmake: fix wrong variable spelling
fix memory leak in ValueOps::load

load() was calling init() on all included containers, but was actually given
already initialized containers. This did not show up in the Ruby bindings as we
create a new object and pass it to load() (which meant that we erased an already
empty std::vector, which does not leak anything). However, when given an already
initialized non-empty object, it would indeed reinitialize the vector thus
leaking the already allocated memory.
ruby: add missing call to initialize_base_class for NumericType (closes #409)
ruby: fix pretty-printing compounds with enum fields (fixes #410)