Merge branch 'stable' of git://gitorious.org/orocos-toolchain/rock-typelib into next
ruby: fix memory handling w.r.t. the lazy-sweep GC in ruby 1.9.3

Ruby 1.9.3 does not sweep all values in one shot anymore, and -- as before --
the sweeping order in undeterministic.

This means that it is now possible that a root value gets GCed, a child value is
not swept (even though it is not alive anymore) and the VM returns to client
code. Then, the deallocated memory is reused and typelib memory management
thinks that we have a case for double-wrappers.

This commit implements a refcounting mechanism to handle the root memory zones,
making sure that we never deallocate a root memory zone until all the other
zones referring to it are properly deallocated.
add create_null and create_opaque on Registry
Merge commit '272d821' into next
Merge remote-tracking branch 'autobuild/master' into next
fix calling #keys on the EnumType class itself.
get_raw always returns Typelib Types

this makes the usage more straight forward than
returning ruby types for simple TypelibTypes like
NumericType, EnumType, ...
add instance method __typelib_parent to Typelib Types
ruby: implement a more flexible way to select ruby-side customizations

This implements a proper registration class for all customizations
(specializations and convertions). The typenames can now be matched
by name, basename for arrays and containers (referred to with bla[] and
bla<>) and finally by regexp.
ruby: remove annoying verbose output in test
ruby: use a proper logger to issue warnings
ruby: silence expected warnings in tests
ruby: cleanup and improve handling of invalidation during container modification
ruby: implement a path API to access fields or set of fields in a type
ruby: properly invalidate containers, when needed, in Typelib.copy
ruby: properly set string encodings when converting to Ruby
ruby: fix ContainerType#raw_each

It was still converting base types to ruby before yielding them
ruby: guard some methods against invalidation
ruby: the do_get and typelib_get_field methods always return a typelib value now
ruby: do not override existing values in @elements in #raw_each