Refactored PaginatorComponent::validateSort() to support multiple field sorting.

Also:
* Consistent `alias.field` output, for virtual/whitelisted fields it would have only `field`
* Whitelist support for foreign fields
* Used data provider to prevent tests of repeating itself
Dropped direction key and turned sort into a field->direction array.

Also:
- PaginatorHelper::sortDir has its first argument as $field.
- PaginatorHelper::sortKey has been removed.
Adding tests to sortDir when sorting more than one model.