started implementing functionality to allow us to stop transfering songs once they're removed from the playlist

note: this implementation is not final, and may be discarded or changed fundamentally
refactored MessageThread, and extracted the following classes:
BluetoothConnection (was MessageThread) handles bluetooth specific connection code, and assembles the generic parts listed below to read and write on that connection
ConnectionReader handles all reading in a way that doesnt depend on the type of connection (all through streams)
ConnectionWriter (was MessageThreadWriter) handles all writing in a way that does not depend on the type of connection)
IConnectionInternal defines an interface for subordinate objects (e.g. reader and writer) to call back into the connection code (to report incoming messages and transfer completed events)

Cleaned out some bluetooth specific code in NetworkFragment

Moved all bluetooth specific connection code into new bt subpackage (under soundstream.net)
changed name of IConnectionInternal to IConnectionCallback
pulled connection constants into new class
Merge branch 'conn_cleanup_and_feedback' into cancel_partial

Conflicts:
	SoundStream/src/com/thelastcrusade/soundstream/net/ConnectionWriter.java
	SoundStream/src/com/thelastcrusade/soundstream/net/MessageThread.java
	SoundStream/src/com/thelastcrusade/soundstream/service/ConnectionService.java

implemented use of MessageFuture to allow for cancelable messages

further cleaned up connection code, and segmented common functionality by class (so we can construct new types of connections)
small refactor to change variable name
added tests for canceled messages in messenger
fixed tests in wiresendinputstreamtest
fixed bugs with header length/overhead in packetformat

refactor for clarity in messenger

added in "expire canceled messages" functionality
added TransferSErvice to AndroidManifest and CustomApp

Rearranged control codes in PacketFormat to be included in packetLength
fixed bugs with new transfer code
fixed bugs with message exchange for canceling messages

refactored AComplexDataType to reuse code

unit test
unit tests
Merge branch 'master' of git://github.com/TheLastCrusade/SoundStream into cancel_partial

Conflicts:
	SoundStream/AndroidManifest.xml
	SoundStream/src/com/thelastcrusade/soundstream/service/ConnectionService.java
added comments to messageenqueuer and messagereceiver
removed cancelinputstream
fixed .classpath
added comments, and cleaned up code (as per github pull request feedback)
removed mm prefix in connection code
refactored run loop in BluetoothConnection to be more readable, and not swallow arbitrary Throwables
reverted to master version
Merge pull request #330 from theJenix/cancel_partial

Cancel partial