Search Changes 5 - Use SearchField objects in the backends

Instead of passing around dictionaries. This pull request makes the search backends use the SearchFields objects created by the developer. Old indexed_fields configuration is automatically converted.