Slow performance downloading large files

WriteTo(this Stream inStream, Stream outStream) writes to outStream with
a 4Kb buffer. Downloading large files(+1Mb) is very slowly because is
sending chunks of 4kb to the client. Writing with a bigger buffer
increases the performance.
Add convenient extension methods to resolve a MQ Client or Producer from an IMessageService
refactor and document RabbitMq server and intro tests
Add a ReplyTo intro example
Re-factor MQ Server tests to share the same base class
Change UrlEncode tests to check for '+' instead of '%20'
Fix exception handling of async actions of services

The continuation Task in ServiceStackHandlerBase.HandleResponse()
examines the Task state in wrong order. Checks task.IsCompleted first,
which is "true when the task is in one of the three final states:
RanToCompletion, Faulted, or Canceled."
(http://msdn.microsoft.com/en-us/library/system.threading.tasks.task.iscompleted)

Therefore the errorCallback() never gets called, defeating the Error Handling
mechanism when a service returns asynchronous Tasks that raise Exceptions.

The fix I suggest is not tested, although seems to be trivial.
Merge pull request #880 from robert4/patch-1

Fix exception handling of async actions of services
Remove unused artefacts and include .js,.css,.html,.tmpl assets in /src NuGet package
Re-factor NHibernateAuthProvider to use custom UserAuthDetailsNHibernate dto
Change RequiredPermission to not require UserAuthId which sutom Authproviders wont have
more tweaks to NHibernateUserAuthRepository
Handle exceptions in async services
Don't overwrite existing error
Also overwrite StatusDescription when its default "OK" value
Only add custom error messages to StatusDescription
Add test showing how to publish and receive messages using a MessageFactory
Add Debug links and AddPluginLinks and AddDebugLinks ext method to MetadataFeature
Don't assert RequestLogs feature in DebugMode
Update latest dlls