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: pretty-print /std/string as a string