Turning When-changed into a package

Replaces [my previous pull request](https://github.com/joh/when-changed/pull/5). This one, I think, *can* be pulled :)