Support singleton filenames.

Previously, track ids were assumed to be part of every filename. This
assumption does not hold for singleton tracks.
Merge pull request #399 from colin-scott/master

Support singleton filenames.
move directory pruning later in import process

Fixes a thing where pruning would remove the album art before fetchart could
get it.
fromfilename: use unicode filename

As pointed out in #395, we need to decode the filename before doing our fancy
matches on it.
merge
prefer track artist over recording artist (#187)
Merge pull request #401 from hferreiro/master

prefer track artist over recording artist (#187)
changelog, tests, slight reorg for #187
synchronize vendored bluelet
fix ridiculous py26 syntax mismatch
Fix issue #403

hack around items needing library and id references since 238e743
get_album (and evalute_template) with non-DB items

Alternative fix for #403.
use _dirty.discard, not _dirty.remove

In the case where the field has not actually changed, don't throw a KeyError;
just proceed silently.
clean up some string formatting
Merge pull request #397 from rashley60/master

Added ability to store comma delimited lists of genres using lastfm
multiple genres (#397): simplify implementation

- don't use vestigial global object for config
- list comprehensions ftw
#397: shorter option name, docs, changlog

I changed the option name from "multiple_genres" to "multiple".
multi-format convert (#362): simpler validation

This removes the explicit config validation check and collapses it into the
config read step (which is the intended convenience of Confit's API).
#380: correctly skip no-op transcodes

The format key is now the (lower-cased) format name string used by beets,
which means we can precisely detect which transcodes would be unnecessary. To
facilitate this, I added an ALIASES dict which allows more convenient names to
work for this (e.g., "wma" is easier to remember than "windows media").
convert: log transcoding command