Implementation of static values that is generic in the notion of labels.

There are many possible notion of labels, ranging from simple string
labels, to compiler generated linker symbols, to constructors of an
enumeration. This patch introduces "Control.Distributed.Static.Generic"
where static values are parametric in the type of labels. Along the same
design as the vector package, other modules can define static values
with fixed label types all the while reusing definitions from the
Generic module.

This implementation allows to mix remote tables with other schemes
of static values.