SHDP-350 Fix HashMethodExecutor negative values

- Hashcode given to HashMethodExecutor doesn't
  result negative values, thus giving accurate
  bucket count.
- Added tests for internal functionality.