Module for setting/changing timezone config

Pretty much completely rewritten from the last version, using load_platform_subclass() with updated functionality for a variety of distros.

I don't have a way to test this on anything other than Fedora, CentOS, and OSX, but the rest should work aside from possible typos.

I would also like to add specific handling based on specific distro versions but couldn't find a way to get at that information from the basic module util methods.