Update field mapping in QuerySet.distinct() and QuerySet.sort()

`QuerySet.distinct()` and `QuerySet.sort()` were both originally implemented with support for `Meta.field_map`, but offered nothing in the way of the more advanced support provided by `utils.map_fields()`. Adding a call to `map_fields()` to each of these `QuerySet` methods, more robust field mapping can be used. Support for nested fields is also gained in the process.