First cut at transfering song:

Renamed Song to PlaylistEntry, and refactored Playlist to use this class, which
will contain information about whether the file was loaded and whether the song
was played.

Introduced PlaylistDataManager, which runs in a thread to monitor and load
playlist entires that live on remote systems.

Implemented TransferSongMessage and RequestSongMessage, for requesting and
transfering song data.

Fixed small bugs in the playlist when sending messages to update guests on play
status.

Refactored code that used Playlist to instead use accessor methods in
PlaylistService
Moved song play/pause/skip actions sent by playlist into a wrapper
AudioPlayerWithEvents, to simplify the logic in PlaylistService

Moved other play related events into the appropriate audio player

Modified PlaylistService to readd songs to playlist data manager after playlist
has been reset

Added error when trying to play and the playlist does not have any loaded songs
Fixed multiple connect dialogs by changing Transitions to reuse fragment
objects.  The bug was caused by multiple registrations; onCreate was called
every time we switched back to the NetworkFragment, but onDestroy was not being
called because we held the fragment on the back stack.
Fixed bugs with playing remote files using guest and host phone
Fixed race conditions/deadlock issues with loading data in a separate thread
Uncommented message sending for resume and stop
Added in optimization, so we don't clear songs immediately.
Merge branch 'master' of git://github.com/TheLastCrusade/fanClub into transfer_song

Conflicts:
	SoundStream/src/com/lastcrusade/soundstream/audio/SingleFileAudioPlayer.java
	SoundStream/src/com/lastcrusade/soundstream/model/Playlist.java
	SoundStream/src/com/lastcrusade/soundstream/net/MessageThreadMessageDispatch.java
	SoundStream/src/com/lastcrusade/soundstream/service/ConnectionService.java
	SoundStream/src/com/lastcrusade/soundstream/service/MessagingService.java
	SoundStream/src/com/lastcrusade/soundstream/service/MusicLibraryService.java
Removed dead code
Added newlines to end of copyright statements
Added script to add GPL statement to the top of every source file
Merge pull request #76 from theJenix/connect_dialog_fix

Connect dialog fix
Pulled write process into a separate thread, and introduced a priority queue to
allow the writer to prioritize command and status messages over song messages.
Took care of edge case in which the GPL statement wasn't being added to CustomApp.java and CoreActivity.java
Fixed lock up bug with larger files by increasing the input buffer size (in
Messenger)
Merge pull request #78 from dgreenhalgh/gpl_git_is_weird

Added bash script to add GPL statement to the top of every source file
modified discovery process to keep track of previously paired guests, and mark
them as "known"

modified dialog box to preselect the known guests
Added comments to separate two blocks of code...much clearer than lining up the
spaces
Pulled id into a local variable, for clarity
Clarified magic numbers in PlaylistDataManager.  Increased wait in stopLoading
to 1500 ms.  Added SongMetadata.UNKNOWN_SONG constant
Clarified magic number in stopWriteThread method
Added clarifying comment in setNextSong, when there is a song to play