Improved the hash function and added tests.

Now there is a generic IHash interface which is inherited by all GUtil's
hash classes.
Working on settings class