Remove inefficient/unnecessary command messages

- Stop publishing messages whenever a transport connects/reconnects
- Stop publishing messages whenever a transport connection is lost
Add param to PC.OnDisconnected to distinguish clean/unclean disconnects

- A clean disconnect indicates the client called stop
- An unclean disconnect indicates the client timed out
- A timeout may or may not mean the client reconnected to another server
Add param to Hub.OnDisconnected to distinguish clean/unclean disconnects

- A clean disconnect indicates the client called stop
- An unclean disconnect indicates the client timed out
- A timeout may or may not mean the client reconnected to another server
Trigger OnConnected with a /start request

Triggering OnConnected while handling the /connect request made it
difficult to report errors and send/process messages while OnConnected
was running.
Stop blocking transport WriteQueues

- Always return a valid Task from ForeverTransport.EnqueueOperation
  allowing us to reduce allocations inside of Subscription.Work
- This will prevent older clients that don't make a /start request from
  receiving proper errors when OnConnected throws
Ajax logic unification in the JS client
Reindent calls to the new transportLogic.ajax function in the JS client
Use /start requests to connect - JS Client

- Include the client protocol in the query string of all requests
Use /start requests to connect - .NET Client

- Include the client protocol in the query string of all requests
Stop sharing MyReconnect instances in our tests

- There must be only one PersistentConnection per request
Lower version back to 2.1.0 for release
Bump version to 2.2.0
97%There - Creating projects for Store WebSocketTransport

Adding VS projects for supporting  WebSockets on Windows Phone 8.1.
Note:
 - Test project requires beta version of xunit (and a corresponding pre-release runner)
 - Nuget.exe had to be updated (Updating NuGet.exe to 2.8.2-beta)
 - Build.proj will be updated seperately

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch feature-StoreWebSocks
# Changes to be committed:
#	modified:   .nuget/NuGet.exe
#	modified:   .nuget/packages.config
#	modified:   Microsoft.AspNet.SignalR.sln
#	modified:   src/Microsoft.AspNet.SignalR.Client.Portable/Microsoft.AspNet.SignalR.Client.Portable.csproj
#	modified:   src/Microsoft.AspNet.SignalR.Client.Portable/packages.config
#	new file:   src/Microsoft.AspNet.SignalR.Client.Store/Microsoft.AspNet.SignalR.Client.Store.csproj
#	new file:   src/Microsoft.AspNet.SignalR.Client.Store/Properties/AssemblyInfo.cs
#	new file:   src/Microsoft.AspNet.SignalR.Client.Store/Transports/WebSocketTransport.cs
#	new file:   src/Microsoft.AspNet.SignalR.Client.Store/app.config
#	new file:   src/Microsoft.AspNet.SignalR.Client.Store/packages.config
#	modified:   src/Microsoft.AspNet.SignalR.Client.WinRT/Resources.resw
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Images/UnitTestLogo.scale-100.png
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Images/UnitTestSmallLogo.scale-100.png
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Images/UnitTestSplashScreen.scale-100.png
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Images/UnitTestStoreLogo.scale-100.png
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Microsoft.AspNet.SignalR.Client.Store.Tests.csproj
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Microsoft.AspNet.SignalR.Client.Store.Tests_TemporaryKey.pfx
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Package.appxmanifest
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Properties/AssemblyInfo.cs
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/Transports/WebSocketTransportTests.cs
#	new file:   tests/Microsoft.AspNet.SignalR.Client.Store.Tests/packages.config
#
Run Forrest, Run! - enabling running store tests in build.cmd
NugetNugget - separating wpa81 platform which will now include the portable client library and wpa81 specific dll containing WebSocket transport.