DatabaseSource: fix crash at Rating sync (bgo#727030)

OnTracksChanged() was iterating the PrimarySources collection,
and on each iteration there could exist the possibility of making
the ServiceManager.SourceManager.Sources collection change (and
PrimarySources is a sub-set of this collection), for example:
a new rating of 5 stars is set on a track, which makes the
"Favorites" smart playlist appear (it could be invisible because
of being empty before).

Even if the super-set of a collection changes without making the
sub-set change, its enumerator would see it "dirty" (out of sync)
which would cause an exception, and make Banshee crash. The
solution to this is make a copy of the PrimarySources sub-set
before iterating it.

Signed-off-by: Andrés G. Aragoneses <knocte@gmail.com>