title: mongoengine: how to query on a non-ascii StringField in EmbeddedDocumentListField
body: <p>when I run a query like </p>
  
  <pre><code>answerSheet = answerSheet.subAnswerSheets.get(
          title=subquiz.title)
  </code></pre>
  
  <p>when my title is non-ascii, I get encode error on this method of EmbeddedDocumentList class in datastructures.py of mongoengine:</p>
  
  <pre><code>@classmethod
  def __match_all(cls, i, kwargs):
      items = kwargs.items()
      return all([
          getattr(i, k) == v or str(getattr(i, k)) == v for k, v in items
      ])
  </code></pre>
  
  <p>and when I remove str cast, it works fine. so is it my fault or source code needs some change?</p>