Rename 'orderable' model behavior to 'sortable'.
Proper use of aliases.

Identifier and alias where interchanged.
Fixed Searchable.

Search conditions where not properly being grouped.
Mix mixins during object construction to make them available as early as possible.
Change DatabaseBehavior::isSupported() implementation

- Only register the behavior as a mixin for the row if it's supported on the table.
-  DatabaseBehaviorInterface::isSupported() only returns false if the behavior is mixed with the table and it's not supported. If the behavior is mixed with a row, always return true.
Move code to application and provide defaults is 'dispatcher' identifier alias has not been registered yet.
Refactor DispatcherAuthenticatorInterface

- Add authenticateRequest method
- Add signResponse method
- Extend DispatcherAuthenticatorInterface from BehaviorAbstract
Allow to store users in the user provider

- Add UserProviderInterface::store() method
- Add UserProviderInterface::isLoaded() method
Code cleanup
Ensure the behavior is mixed with row objects.
Code cleanup
Lazy create the user object if it doesn't exist yet and store it in the provider for re-use.
Allow to store users in the user provider

- Add UserProviderInterface::store() method
- Add UserProviderInterface::isLoaded() method
Code cleanup. Functionality is already handled by com:users.database.behavior.modifiable.
If article has not been modified yet, use the created info instead.
Code cleanup. Functionality is already provided by com:users.database.behavior.creatable
Code cleanup.
Use getAuthor()->getName()
Alias creatable, modifiable and lockable behaviors to use specialised implementation provided by com:users.
Only fetch columns from the main table by default in DatabaseTable->select operations