generalising subscripts.

Subscripts can now be any element of the type class Subscript. This
makes it possible to use suff like `variable "x" 5 body` instead of
the more complicated `variable "x" [5] body`.
some inlining for functions in R.U.Ptr
added Lift instances for endian safe word types
Merge branches 'x-primitives' and 'x-hash-sha' to master

This cleans up some of the TH based code.
separate rule for fastforwarding all branches.
grand reorganisation of the raaz-hash-sha packages.

As a user you need to only import Raaz.Hash.Sha and nothing else. In
case you want the constructors you can use Raaz.Hash.Types.
removed the export of R.H.Sha.Instances fixed a warning
moved installation options to a variable
added a clean rule.
some reorganisation of Makefile
added raaz-executables to the list of packages
cleaning up sha1sum code
setting travis builds environment explicitly
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.