WIP ENH: Add hashing

Currently WIP because the hashes don't match for the `info` dicts for each object (Evoked, Epochs, _BaseRaw). I just need to track down where the difference is, and we should be good to go. @dengemann is there a convenience function to find the first difference between two `info` structs? If not, I'm going to make one.
does this also make sure that the hash would be the same when constructing the same values / dict once more (equals closing ipython restarting and constructing from file)?