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
changelog entry / tiny doc tweaks for #90
Merge pull request #89 from mrmachine/multi-disc

Improved multi-disc album detection.
rename ImportTask.path to paths (#89)
legibility refactoring in albums_in_dir (#89)
break up multidisc collapsing tests

Now we can see which aspect fails in bite-sized pieces.
docstring and style fixes (#89)

This uses a simpler way to sort lists case-insensitively. It also sorts the
*files* in a case-insensitive way for consistency.
changelog and docs for #89
don't save sentinels in incremental history

This was doing nothing silently before, but the call to tuple(None) threw an
unhandled exception.
fix for the above fix
use unicode for import log

We pass all the paths involved through displayable_path now.
Detect false positive markers in root/parent directories.

For example, catalogue numbers like "[REACT217]". This shouldn't bypass the
nested multi-disc detection and automatically include all subdirs.

Do nested multi-disc detection first, so that `collapse_pat` is only set for
flattened albums, and we can skip the ancestry check on subsequent folders.
Merge pull request #91 from mrmachine/multi-disc

Detect false positive markers in root/parent directories.
tiny line wrap change
remove a redundant slash pointed out by @mrmachine