title: AttributeError: 'UUID' object has no attribute 'replace' when using backend-agnostic GUID type
body: <p>I want to have a primary key id with type uuid in a Postgresql database using SQLAlchemy 1.1.5, connecting to the database with the pg8000 adapter. I used the <a href="http://docs.sqlalchemy.org/en/rel_1_1/core/custom_types.html#backend-agnostic-guid-type" rel="noreferrer"><em>Backend-agnostic GUID Type</em> recipe</a> from the SQLAlchemy documentation.</p>
  
  <p>When I want to insert into the database, I get the following error</p>
  
  <pre><code>  File ".../guid.py", line ???, in process_result_value
      return uuid.UUID(value)
    File "/usr/lib/python2.7/uuid.py", line 131, in __init__
      hex = hex.replace('urn:', '').replace('uuid:', '')
  AttributeError: 'UUID' object has no attribute 'replace'
  </code></pre>
  
  <p>my model looks like this</p>
  
  <pre><code>from sqlalchemy.ext.declarative import declarative_base
  from sqlalchemy import Column, Integer, String
  from guid import GUID
  import uuid
  
  base = declarative_base()
  
  class Item(base):
      __tablename__ = 'item'
  
      id = Column(GUID(), default=uuid.uuid4, nullable=False, unique=True, primary_key=True)
      name = Column(String)
      description = Column(String)
  
      def __repr__(self):
          return "&lt;Item(name='%s', description='%s')&gt;" % (self.name, self.description)
  </code></pre>
  
  <p>My resource or controller looks like this</p>
  
  <pre><code>data = req.params
  item = Item(name=data['name'], description=data['description'])
  
  self.session.add(item)
  self.session.commit()
  </code></pre>