Add new Extended Browse Modes plugin to support browsing for Album
Artist, Composer etc.

This is a non-working initial checkin. It includes some small changes to
the core code to support filtering by role_id, as well as a simple POC
plugin to add some more browse modes. This plugin can be used as is as
well as extended by 3rd party devs to add even more or more complex
modes.
Fix browsing from the ExtendedBrowseModes plugin
Rename method to register new browse modes
Make definition of menu items as code-free as possible. This should
allow us to eg. save configurations to a prefs file.
More code to make browse modes user-configurable:

- Add support for plain text strings instead of string tokens. Create
string tokens on the fly if needed.

- Add support for genre name -> genre ID lookup.
Add handler to resolve an artist name to an ID when registering the menu
Don't pre-calculate IDs when initializing a browse mode, but evaluate
dynamically when the menu is entered. Otherwise ID changes due to
rescans might not be respected.
Settings page to configure additional browse modes.

Changes aren't saved yet - this is mostly a mockup.
Working settings page for the extended browse modes
Allow using contributor roles in human readable format when limiting
queries by role_id.
Don't add All Albums item when browsing artists filtered by role at the
top level.
Respect the role_id in the caching of rendered browse pages
Rewrite the Extended Menu registration to use Slim::Menu::BrowseLibrary
directly instead of using an ugly hack to write a wrapper around it.
Merge branch 'public/7.9' into public/feature/extended-browse-modes
Improve Extended Browse Mode integration

Modify parameters for Artist browsing if Album Artist is enabled
Fix typo in browse mode registration
Enable plugin by default, but change default values
Merge branch 'public/7.9' into public/feature/extended-browse-modes
Rename Compilations menu item.
Merge branch 'public/7.9' into public/feature/extended-browse-modes
Move the Album Move Album Artists etc. browse mode back to core code.
Add pref to switch between old configurable single browse mode for
artists, and new dual browse mode for AA and "All Artists"
Merge branch 'public/7.9' into public/feature/extended-browse-modes