In addition, this fix includes Python-related fixes: because
of the short lifetime of Python references, the functionality
was not as expected sometimes. Keeping copies of LayerPropertiesIterators
helped. Some tweaks were required to maintain the delete() semantics.
- Include a copy of the unit test framework so we're no longer
depending on incompatible versions for Ruby 1 and 2.
- Avoid duplication of path entries in unit tests