Minor internal refactor into a Sluggable::apply method

- Current spec status: 170 examples, 0 failures.
Major internal refactor to HasTree
Add dependent => destroy spec for Villain model