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.
There isn't a good way to test that, but I'm going to test reading the same file in twice (raw, evoked, and epochs). Currently none of those have the same hash, even though the data array hashes the same in each case. So I suspect something is up with the `info` struct, which is why I asked about the comparison tool. I'll see what I can do.