Sort implementation

 * sort can be sepcified using the 'field_name'(+|-) syntax
 * supports fixed fields and flexible attributes
 * includes plugins fix for API changes (might have missed some)
Use implicit continuation for sql generation.

Avoid newlines in the query string.
Add defaut sort on artist_sort field.

For items and albums, defaulting on artist field if artist field
is empty.
Add documentation about sort specification.
Moves default sort specification from code to conf

Default sort order can be set in configuration file with the
`sort_album` and `sort_item` keys.
Add documentation about default sort configuration.
Sort on computed field implementation.

Sort is implemented in python.
When combining sorts on fixed, flex and computed field, make as
much as possible in sql and finishes the job in python.
Fix error on default sort configuration

Fix crash when using several criteria for default sort in the
configuration file.
Removes unused import (flake8 warning)
Fix sorting without using the MultipleSort object.

SQL syntax error when using a simple FlexFieldSort.
Add unit tests for fixef and flex field sort
Add tests cases for sort on albums.

On fixed and flex attributes.
Fix typo in common utility function for tests
Add tests for computed attributes.
Fix flake8 warnings.
Fix minor formatting and comments issues.
Fix formatting issue
Fix formatting (again ...)
Minor changes from review (mostly style)
Pull request for Spotify plugin development, see: https://groups.google.com/forum/#!topic/beets-users/2xsOZC-NMNk