removed unnecessary R.Primitive.Hash file
generalising block primitives.

Block primitives now have a context and process function. This makes
them capable of capturing a wider varity of crypto primitives
including hashes macs, ciphers etc.

The Raaz.Hash module has been suitably modified.
abstracting padding out of hash
added the bytesource type class
added generalised fillBytes that works with typesafe lengths
added the combinator withFillResult
added code to transform contexts.
refactored Hash module using changes to R.Primitives and R.ByteSource
hash-sha now uses the newer interface for Hash
updated to use the new hash interface