Add a new option for hash based comparison

1) Refactored the code and introduced two types of comparison
	version based and hash of the value based
2) The code was dependent on node 0 for boot strapping. fixed.
3) Enable the test testDetermineConsistencyHashValue and fixed it.
4) Now the consistency check tool takes a new option
      --comparison-type which defaults to version and can be
        forced to hash based comparison.
comparison-type option is case sensitive

1) make the comparison-type case insensitive, previously you have
	to type HASH and VERSION but other options are lower case
2) Change the ValueFactory class to take type as argument