Enhance Sprig-Reap's Abilities to Handle Polymorphism

Sprig-Reap was unable to properly identify dependencies and polymorphic-associated classes.  This PR adds some additional intelligence around that logic.

Eli and I paired on this stuff.  We also cleaned up small things here and there.
Dumb Ruby 1.9.3 doesn't support `Hash()` so it was breaking the TravisCI build.