Removed factory base classes.
Cleaned the Artist, Album, Track and Library classes for restructuring.
Added an additional contains for the structure classes.
Started the implementation of AddTrack.
Added a base class for the artist-, album- and trackcollection.
Finished the implementation of AddTrack/RemoveTrack in Library.
Added an optional internal handler for trackcollection.
Implemented Artist handler for Album on Track add.
Implemented Artist handler for Album on Track remove.
Adding/Removing tracks from album will automatically update the albumcollection of an artist.
Renamed PlaylistSearcher before rewrite.
Made IPlaylist<T> enumerable (IEnumerable<T>) and implemented it on inheriting classes.
Implemented PlaylistSearch as static class/methods and implemented search using IEnumerable<T> on IPlaylist<T>.
Added standard IPlaylist search methods for Track.
Relocated the files containing search method/classes. Removed the LibrarySearcher class.
Added AudioScan which will perform (and maintain state for) a single scan.
ScanFileEvent added.
Added eventhandlers to AudioScan.
Removed obsolete scanner-state classes.
Added threading to audioscan and rewrote the way scans are started.