rows here are tuples (key, value, id), returns a list of tuples
        (key, value, id, doc)

def _include_docs(self, rows):
        '''rows here are tuples (key, value, id), returns a list of tuples
        (key, value, id, doc)'''
        resp = list()
        for row in rows:
            if isinstance(row[1], dict) and '_id' in row[1]:
                d_id = row[1]['_id']
            else:
                d_id = row[2]
            try:
                doc = self._get_doc(d_id)
                doc = copy.deepcopy(doc)
                if doc.get('_deleted', None):
                    raise NotFoundError('%s deleted' % d_id)
            except NotFoundError:
                # FIXME: this just returns None instead of dict if the
                # document is not there/was deleted.
                # I'm not sure if this is how couchdb would behave
                # check it!
                doc = None
            resp.append(row + (doc, ))
        return resp