Implemented exchangeable checksum algorithms.

- CityHash is the default now. (Fastest on Intel)
- -e (--algorithm) can be used to choose the hash algorithm.
- -D_RM_HASH_LEN=20 (or 32, or 64) can be used to enable SHA1 (or 256, or 512)
   support - at the cost of more memory.