Make Hash independent of char signedness

Solves an illusive issue with BloomFilterPolicy and interoperability
of data files between platforms with signed char (such as x86) and
platforms with unsigned char (such as ARM).

- Add casts to Hash() to treat chars as unsigned (I think this was
  intended)
- Add tests for Hash
- Change name of algoritm in BloomFilterPolicy::Name to make sure that
  filters are recomputed; this provides forward and backward
  compatibility