Added Discogs search plugin.
Added a -e option to random that makes the distribution even among artists
use lazy config loader in confit

This lets you, for example, import beets in a library or the REPL and use it
immediately without calling "beets.config.read()" first.
simplify materialization in LazyConfig
Fixed the randomness of the equal change to have more than one song by artist
fix #280: unicode error when formatting artpath

The `artpath` field for Albums is a bytestring, not a Unicode string, and this
was causing a UnicodeDecodeError in `format_for_path`.
remove art_filename Library field

This is the first of a handful of refactorings that take advantage of the new
confit system to simplify parameter passing boilerplate.
remove timeout Library field
fix #281: album art filename respects replace
Merge pull request #263 from madjar/master

 Added a -e option to random that makes the distribution even among artists
changelog & docs typo fixes for #263
random -e (#263): fix some short responses

This slight modification to the selection algorithm avoids the situation in
which too many objects are chosen for a given artist and fewer than N objects
are eventually returned. We do this by implementing "selection without
replacement" literally: we choose objects one at a time and pop them from the
population when they are selected.
first stab at "advanced guide"
link to the advanced guide from "getting started"
travis: retry package installation

http://about.travis-ci.org/blog/2013-05-20-network-timeouts-build-retries/
Add `discogs` plugin, which extends the autotagger to include results from the discogs database.

This is a refactor of the plugin developed by `imenem`.

- Pass `artist`, `album` and `va_likely` to `candidates()` so that
  plugins don't have to work this out from `items` all over again.
- Pass `artist` and `title` to `item_candidates()`.
- Silence spurious `urllib3` info log lines.
- Use a proper "beets" user agent with `discogs_client`.
- Remove `abstract_search` plugin. It seems unnecessary. How many
  music databases are there? How many will beets support? How much
  common code might there be between them? We can add some abstraction
  if or when more databases are supported.
- Derive more AlbumInfo and TrackInfo properties from discogs Release
  objects, especially album ID so that beets doesn't just use the first
  release and think all subsequent releases are duplicates.
- Add basic documentation, doc strings and code comments.
- Sanitise search query. Remove non-word characters and medium info that
  might filter out good search results.
- Use artist `join` strings from discogs Release object when an album
  or track has multiple artists.
- Don't rely on discogs track position, which is unreliable. But tracks
  are in order, so we can recalculate medium and medium_index as long as
  we can extract a consistent medium across tracks from the position.
- Add "various" as a known signal to indicate various artists.
- Prevent `chroma` plugin from returning a a huge track distance for any
  track that is missing an ID (e.g. all discog tracks).
- `TrackInfo.index` should be the release index (calculated by beets),
  not the medium index (derived from discogs track position).
- Add `AlbumInfo.data_source`. It's "Unknown" by default which is shown
  in red when displaying a suggested or selected match. The built in
  auto tagger sets it to "MusicBrainz" which is shown in green. Anything
  else (e.g. "Discogs") is shown in yellow.
- Remove double spaces from album titles (bad data from Discogs).
Merge branch 'master' of github.com:sampsyo/beets into imenem-discogs-search

Conflicts:
	docs/changelog.rst
	docs/plugins/index.rst
Update signature for item_candidates() in chroma plugin.
human-readable errors in read() and write()
Merge pull request #283 from mrmachine/imenem-discogs-search

Add `discogs` plugin, which extends the autotagger to include results from the discogs database.