Sorting support in beets query mecanism (dbcore)

Add sorting support  (see #749)

 * in the dbcore API and as a new syntax for queries
 * default sort order can be defined in the configuration file
 * documentation and tests case are update accordingly

Plugin-defined Sort objects are not yet implemented but this could be done later (and everything is in place for that).
I totally agree with you but I've not found any elegant solution for this (what is, without breaking too much thing in the cli code side) : 
 * as the query comes directly from the cli argument, I don't see how to separate query and sort part without parsing it 
 * when using the sort functionnality from a plugin (using the API), you really want to pass a Sort object instead of building a sort + query string.

It actually raises a more global problem imho with the methods that takes arguments that can be either string or objects (happens on several occasion with query and sort) : that requires some ugly `isinstance` tests but seems to but difficult to avoid witout breaking too many things.