Fixing arrays of UUID

The psycopg2 adapter being used for UUIDField didn't handle edge cases
around arrays well and, in the case of an empty array of UUIDs, was not
being registered. psycopg2 itself already includes a UUID adapter, so
this commit switches to using it and registers the adapter at the module
level.

Regression tests have been added to ensure that arrays of UUIDs (both
populated and empty) continue to work.