Base objects should beable to hash their data member

Since jenkins base objects represent REST data, we can reliably hash it to get a hash that represents the jenkins object.  Once we do this we can create a better compare method because we are literally comparing the data these objects represent.