Do not trust a streams position.

The position of a stream can be mis reported. This happens e.g. with ZIP streams from ICSharpZipLib. The position it reports is the compressed position, but the length is the uncompressed length. To solve this, we keep the position ourselves.
Worked around warning caused by JSON library with .NET 4.
Stream failures now do not close the connection anymore.

Protocol has been extended to support stream failures. Instead of disposing the connection, now this is correctly handled and when reading the async result, an exception is thrown.
Updated protochannel to r622.
Added dummy implementation of Common.Logging for MonoDroid.

MonoDroid doesn't support Common.Logging. We had a lot of #if's throughout the code to disable logging for MonoDroid. This mechanism has been replaced with a dummy logging implementation for MonoDroid.
The stream managers incorrectly took a ProtoStream.

The stream managers took a ProtoStream to decide what kind of stream to create. However, this ProtoStream wasn't actually used or disposed. They now take a length argument which is enough for them to decide what to do.
Implemented disposition for streams.

Streams now can take a disposition which can be used to distinguish inline streams and attachment streams. The idea here is that inline streams are used for internal functionality in an application, and attachment streams are streams requested by the user. This can be used with progress reporting to decide on what streams to report progress.

Breaking change: the web stream API doesn't take a disposition query string argument anymore. This has been replaced with this new functionality.
Implemented stream progress reporting on the client.
Increased maximum request size in demo website.
Fixed issues with HTTP uploads.

The HTTP upload handler set itself as complete in the constructor. However, this closed the input stream. Functionality has been changed so that the request is kept active until all streams have been closed.
Implemented keep alive.

Default configuration is 30 seconds and it can be disabled.
Created NuGet package definitions.