Make decimal_out/in use client_encoding

Also the same for time_in. The functions used to assume ascii, and in
fact I can't think of a case where this wouldn't work because the
characters used for these types are encoded in the same way for most
character encodings. Anyway, this theoretical bug is now fixed :-)
Always use our own definition of utc

We used to try to import pytz.utc, and then if it failed we used our
own. Now we always use our own, which makes testing much easier.