Accept valid uuid strings with or without dashes.

Made the uuid dashes optional for UUID field types. This did not seem like a problem since you cast to a python UUID if a string value is passed anyway. I also wrote unit tests for the UUID column type as it seemed like they were missing. All new unit tests (including the one testing uuids without dashes) passed.