Fixes #811. Fixes reflinks
replaced `text_score` attribute to `get_text_score` method

Signed-off-by: Wilson Júnior <wilsonpjunior@gmail.com>
Check if undefined fields are supplied on document

If an undefined field is supplied to a document instance, a
`FieldDoesNotExist` Exception will be raised.
check for dynamic document, exclude id pk and _cls
fixed tests that were using undefined model fields
remove unittest test_no_overwritting_no_data_loss

Now that fields need to be defined explicitly, it's not possible to have
another property with the same name on a model.
https://github.com/MongoEngine/mongoengine/pull/457#issuecomment-47513105
add FieldDoesNotExist exception to __all__

So it will be available when you do:
    from mongoengine import *
add test if FieldDoesNotExist is raised

When trying to set an undefined field.
using python 2.6 compatible way of assertRaises
added ints in string.format() for 2.6 compability
moved initialization of _created before FieldDoesNotExist check

Because otherwise we'll get a FieldDoesNotExist error on the field
_created.
fixed more tests that were using undefined model fields
Refactoring: `Simple is better than complex`

Signed-off-by: Wilson Júnior <wilsonpjunior@gmail.com>
Doc fixes, thanks @3Inc

Author:    Slam <3lnc.slam@gmail.com>
Date:      Fri Nov 28 13:10:38 2014 +0200
Fix crash when applying deletion rules

When deleting a document references by other, if that refence is
defined on an abstract document, the operation fails, because it tries
to apply deletion on the abstract class which doesn't have a QuerySet.

Fix is simply to ignore document classes which are defined abstract when
applying rules on all classes referencing the document.
Merge pull request #825 from idlead/fix/reverse_delete_rules_on_abstract_documents

Fix crash when applying deletion rules
Merge pull request #821 from 3lnc/Document.switch_docstring_fix

Fixes #811. Fixes reflinks
Merge pull request #815 from MRigal/master

fixed bug for queryset.distinct to work also on embedded documents, not ...
Ensure Indexes before Each Save

- Rely on caching within the PyMongo driver to provide lightweight calls
  while indices are cached.
- Closes MongoEngine/mongoengine#812.
Merge pull request #823 from mmelliso/mmelliso/fix#812

Ensure Indexes before Each Save (Resolves #812)