Merge pull request #82 from mrmachine/align-changes

Improved change alignment. Align "->" when possible, otherwise split acr...
merge
cross-platform and error-tolerant width check (#82)
update changelog note for #82
refactoring and commenting for legibility (#82)
don't colorize filenames in track diff display
length_diff_thresh moved to config

This was previously hard-coded as 2.0 seconds, which was way too low.
suffix-based colorization for numeric value diffs
Merge pull request #86 from steinitzu/master

AlbumArtist tag browsing in bpd
changelog note and indentation fix for #86
Merge pull request #87 from pscn/master

Use release disambiguation not release-group disambiguation and more
changelog and partial reversion of #87

This pull request made two changes. This commit reverts one of them to make the
changes orthogonal.
both release and release group disambig (#87)

This joins the two strings with a comma if both are present.
Merge pull request #88 from pdf/lastgenre_source_selection

Allow selection of source for genre information (ie - artist vs album)
fixes and refactoring for lastgenre.source (#88)

This provides a default for source, preventing a crash when not present in the
user's config.

It also refactors the source decision to a helper function, _lastfm_obj, to
avoid copypasta.
changelog and doc fixes for #88
Improved multi-disc album detection.

- Remove "part", "volume", "vol." multi-disc markers. These are often
  part of album titles, and not necessarily indicative of a multi-disc
  album. Only look for "CD X" and "disc X" (case insensitive), ignoring
  white space and other non-word characters.

- Don't only expect each disc to be in a subdirectory of a common parent
  directory, with all siblings belonging to the same release. Also match
  any consecutive siblings (even when the parent contains other albums)
  that are named with the same prefix and multi-disc marker.

- The `albums_in_dir(path)` function now always yields a list of paths
  along with each list of items. `ItemTask.path` is now always a list of
  paths.

- The `displayable_path(path)` function now accepts a list of paths, and
  will join them with "; " by default. This can be changed with the
  `separator` argument.

- The `sorted_walk()` function now does a case insensitive sort on
  directories, but still returns case sensitive results. This allows
  better multi-disc album detection.

- The `art_for_album()` function now takes a list of paths as its second
  argument, instead of a single path.
Run plugins in predictable order

In the config file, if 2 plugins listen to the same event, make sure the
one that is listed first is executed earlier.
Add small docs for smartplaylist about chaining
Merge pull request #90 from dangmai/pluginchain

Allow plugins to execute in predictable order