Draper.undecorate safely undecorates any object

This allows you to pass any object to Draper.undecorate knowing you will get the original object back
even if the object passed in does is not already decorated.

Closes #600
Merge pull request #616 from carnesmedia/undecorate

Draper.undecorate safely undecorates any object