Added all uniform related classes

This includes the uniform interface, base class, factory, and even an
exception class.