Define get_field/has_field instead of using _redis_attr_*

Main goal of this PR is to define two new methods to avoid using _redis_attr everywhere in the code:

- get_field
- has_field

With this, it's easier to inherit and enhance these method, for example to create fields on the fly

There is two other little commits too:

- correct way of using the collection_manager on related fields
- enhance `_attach_to_model` and `_attach_to_instance` calls to help inheritance