APG: more i18n fixes

Eliminated a couple of word puzzles at translator's suggestion.

CC: pino@kde.org
Grammar fix - similar artists to, not of
StatSyncing: introduce core (abstract) classes and Controller

This is the start of my GSoC project. Speaking about code layout,
StatSyncing is put into separate library: amarok-statsyncing that
links amarokcore and is linked by amaroklib. Statistics synchronization
is nicely isolated that way; I was more than inspired by transcoding
code when I designed this.

From other code statistics synchronization is accessible through
Amarok::Components::statSyncingController().

This change also adds new action to the Tools menu:
"Synchronize Statistics..." that currently does nothing but emits
a line into debugging log. :-)
StatSyncing: move to amaroklib, back-end for collections, track matching

This commit implements following changes/features:
 * bury amarok-statsyncing.so: because CollectionManager in in amaroklib,
   there would be circular dependency which is not possible. StatSyncing
   is now part of amaroklib and built from src/CMakeLists.txt
 * a bridge between Amarok Collections, Meta and StatSyncing is
   implemented in statsyncing/collection. This means that StatSyncing can
   "see" collections and collection tracks, yay!
 * TrackDelegate comparisons are overhauled to be more intuitive to use
   and flexible because they accept comparison mask now
 * MatchTracksJob is implemented and called by Synchronize Statistics...
   action, it will match tracks from all visible collections

How to test: plug in all devices that show up as collection in Amarok,
start Amarok in console as amarok --debug. Hit "Synchronize Statistics...
from the Tools menu and watch all the beauty that appears in debugging
log. Notice the UI is still responsive while matching because it happens
in a background thread. I'm interested in first and last screen of that
debugging output, you may pastebin it and ping strohel at #amarok (IRC)
about it. Thanks. :-)
StatSyncing: progress bar for matching track, abort-ability
StatSyncing: renames, models, gui for matched tracks

 * TrackDelegate is renamed to Track (encapsulated in namespace),
   TrackDelegateProvider is Provider; subclasses are renamed accordingly
 * Process class introduced and implemented to handle one stats
   synchronization; makes Controller more lean
 * TrackTuple class introduced to facilitate stats syncing of a pack of
   equal tracks from different providers; currently just a container
   for track packs associated to their providers
 * MatchedTracksModel (QAbstractItemModel) implemented to serve as
   a source for UI displaying matched tracks
 * SingleTracksModel (QAbstractListModel) implemented for displaying
   non-matched tracks
 * Rudimentary UI for displaying results of track matching (will be
   extended with more statsyncing controls)
 * smaller fixes all over: fixes inclusion guards, provider
   memory-management, docs...
 * putting it all together. :-)
StatSyncing: show fields that are going to be updated in bold

This implements following features:
 * support in TrackTuple for determining synced values
 * support in TrackTuple for determining which fields will be updated
 * forwarding both of these in MatchedTracksModel
StatSyncing: functional view filtering, update & conflict detection

 * TrackTuple learns how to tell conflict in ratings, how to denote
   that any field's gonna be updated
 * MatchedTracksModel can say what track tuples are going to be
   updated and which have conflicts
 * view learns how to sort, filter by string and filter by state
StatSyncing: rating conflict resolution
StatSyncing: introduce Provider::writableTrackStatsData() and use it

...so that we don't e.g. try to set labels on iPod over and over again.
The implementation of writableTrackStatsData() in CollectionProvider is
currently very naïve, the proper solution would be to add a method to
Collections::Collection (which I'll probably do in future).
StatSyncing: implement actual synchronization

 * add set[Rating,Playcount...] methods to StatSyncing::Track
 * implement synchronize() in TrackTuple, misc fixes in TrackTuple
 * introduce SynchronizeTracksJob and call use it -> synchronization
   is working now!
StatSyncing: more convenient rating conflict detection

...don't detect conflicts for collections that cannot write ratings
StatSyncing: factor MatchedTracksPage out of Process

Process got too crowdy.
StatSyncing: disable "Updated" and "Conflicting" tracks item when there are none
Meta::Statistics: introduce recentPlayCount() and implement in IpodMeta

...needed for accurate statistics synchronization.
StatSyncing: support for recent play count for more accurate synchronization

Uses previously introduced recentPlaycount() from Meta::Statistics
StatSyncing: Status bar line in MatchedTracksPage
StatSyncing: MatchedTracksPage remember which tuples are expanded
StatSyncing: proper capitalization
StatSyncing: mass conflict resolution using "Take Ratings From" button