Make modules know their version

Feast your eyes: now `ModuleInfo` has a `getVersion()` that is robust:

* For commands, it is the `Implementation-Version` in the manifest of the JAR containing the command.
* For scripts, it is a timestamp (for human readability and sortability) followed by the SHA1 hash of the script contents (to guarantee version uniqueness).

This branch also adds a DigestUtils with many useful methods for SHA1 computation and related things.

And things are even unit tested. All for the low, low price of a quick code review.