Keep ivar reference to complex object instance
Store ComplexObject in a hidden ivar:

This avoids crashing everything when bad people doing weird things.
Update CHANGELOG
Travis CI:

* Be less precise in Ruby versions
* Use sudo-less containers
Merge branch 'master' into uncaught-error-types