Reimplement "Control.Distributed.Static" in terms of "Control.Distributed.Static.Generic".

The module exports a largely backwards compatible API, with the addition
a few more combinators to complete the original set of combinators that
was shipped in this module.
Rename 'StaticLabel' to 'StringLabel'.

This is an internal type so does not affect the API. The motivation
behind this name change is to make it clear that using a string as
a label is but one possible notion of static label, of which there can
be many.
Backward compatibility with GHC < 7.8.

Using the old Typeable API, rather than the new one that ships with GHC 7.8.