Add specs to demonstrate expected behavior (#178)
Stop rubocop from complaining
Remove dups and use inject! to inject in place

This will keep the same objects that are set in a hash with
IndifferentAccess, extending the objects with the methods in-place.
This, of course, has consequences, but if we want to keep the same
objects after the injection this has to be done.

Fixes #178, #180
Merge pull request #195 from michaelherold/indifferent_access_weirdness

Fix #178 and #180 by injecting in place