Introduce GenericContainer::share() and ::protect()
Merge pull request #3 from mjhennig/master