Issue title: ReferenceField raises InvalidDocumentError
 Issue body: class Users(Document):
    username = StringField(required=True)
    password = StringField(required=True)

class Projects(Document):
    name = StringField(required=True)
    description = StringField()
    created_by = ReferenceField(Users)

Error : 
InvalidDocumentError("Field '%s' must be valid." % name)
InvalidDocumentError: Field 'created_by' must be valid.

 Comments: 
 Comment 0: Hmmm... have you tried required=False? It should be the default, but I'm not sure why validation is picking that up :(
{'source': 'GithubIssues', 'repo_name_with_owner': 'heynemann/motorengine', 'issue_id': 94379214, 'repo_stars': 199.0}