Use C# instead of Bourne shell to do md5 hashing.

The shell code for this was fragile, as explained in issue #12.
Use ls -l / awk instead of stat during building.

I think this is posix compliant, and it works on os x.