Fix moving items with the new queue system.
This took a bit of thinking, but I think this is the correct way to
implement this in a future-proof manner.
Like the library package, move out tag information (Date/Album.Type)
into a separate package.
Date never really made sense as base-package information.
Switch back to using settings-specific listeners rather than the
SharedPreference listener.
Again, this is due to the need to decouple android code from settings.
It also allows us to fully obscure the details of what settings we are
actually working with.
Decouple the settings god object into feature-specific settings.
This should make testing settings-dependent code much easier, as it no
longer requires a context.
Add support for date-encoding years such as "YYYYMMDD".
This is a semi-common timestamp edge-case, it seems, primarily due to
taggers wanting to encode date information in older tag formats.