rebasing to remove .dll file

Added Casablanca library to the CPP Client

Added casablanca library

Changed NegotiateResponse to NegotiationResponse
Changed IHttpClient to http_client

Adding WebSocket Skeleton

-Added WebSocketTransport
-Changed some functions to return tasks
-Changed some string to string_t

Implementing SSE

- also modified some other files to reflect changes in definitions in IClientTransport
- added utility functions in TransportHelper

Fleshing out SSE Transport

-added AsyncStreamReader
-added EventSourceStreamReader
-added and implemented SseEvents

Added ChunkBuffer

-implemented ChunkBuffer
-modified SseEvent

Working on AsyncStreamReader

- added some implementation
- still missing some methods

Added more implementation for AsyncStreamReader

- still not reading the entire message
- some function may not work the same way as the ones in c# client

Implmented EventSourceStreamReader

SSE can get response from connect

- changed Connection::State to Connection::ConnectionState to avoid confusion with AsyncStreamReader::State
- added stream parsing in AsyncStreamReader, should put this into StreamExtention

Added Trimming Function and working on ProcessResponse

Revert "Added Trimming Function and working on ProcessResponse", Now can receive message from the server

This reverts commit 71b3722c04cf67590cfc9a7dbc103ac04c1502fb.

Conflicts:
	src/Microsoft.AspNet.SignalR.Client.Cpp/Headers/Transport/TransportHelper.h
	src/Microsoft.AspNet.SignalR.Client.Cpp/Source/Transport/ServerSentEventsTranport/ServerSentEventsTransport.cpp
	src/Microsoft.AspNet.SignalR.Client.Cpp/Source/Transport/TransportHelper.cpp

Fixed some issues with parsing non-existing entries in the response

Fixed another parsing issue

Basic Send working

Improved responsiveness, most likely the stream.read is too slow

Fixed delayed reading bug

- any messages after a blank line was ignored until the next message
- use a continue instead of break when delivering sseevent messages in EventSourceStreamReader

Updated Sample Code and reorganized files

- now the sample code runs similar to the C# sample
- removed WebSocketTransport
- updated how TransportName is stored/accessed

Restructuring the CPP client and adding StateChange class with associated functions

- now sample runs almost identically to the c# client

Tearing down old unused files/functions

Cleaned up Connection and added some skeletons

- also updated the sample to use the new skeletons set up in connection

Added implementation for ServerSentEvents

- moved some string operation code to StringHelper
- working on ServerSentEvents::OpenConnection

Added some implementation in HttpBasedTransport

Working on Reconnection/Disconnection

- Added and implemented helper classes: ThreadSafeInvoker
- Added DefaultHttpClient

Adding Interface/wrapper Classes

- added HttpRequestWrapper
- added IConnection
- Added IHttpClient
- Refactored code according to the new additions

Corrected an issue with calling PrepareRequest

Fixing leaks and bugs, working commit

- leaking in send
- leaking eventSourceStream
- leaking in asyncStreamReader

No more memory leak when running the sample

Converted some more pointers to smart pointers

- Connection* -> shared_ptr<Connection>
- found the cause of memory leaks in the cpp.e-shared_ptr branch
- working commit

Conversion to smart pointers complete

- wherever appropriate

Making some changes regarding concurrency (working commit)

- using lock_guard instead of raw mutexes
- added reconnection for serversentevents
- changed the naming of member pointers from m... to p...
- still working the above issues in the connection.cpp

Fixed some minor issues

- use nullptr instead of NULL where appropriate
- corrected some lock operations in Connection
- using correct initialize callback

Changed Friendship permissions for some functions

Added a few comments

- refactored some code

Fixing a race condition in AsyncStreamReader

rebasing to remove .lib file from history

Added UnitTest++ framework

- also restructured the CPP client to become a static library
- created the CPP Sample project under samples dir
- created the CPP Test Project under test dir
- made some changes based on code review

Changed the output directories for the library, sample and test

Working on ChunkBuffer Unit tests

Fixing code based on review

- relocated JSON parsing for NegotiationResponse
- using as_string instead of to_string so no extra quotation marks need to be trimmed
- corresponding function removed in StringHelper
- removed isLongRunning in DefaultHttpClient
- connectionToken is now stored as a non-encoded string
- no longer get variable twice in TransportHelper::ProcessResponse
- removed IConnection

Syntax changes based on code review

- pass variables by reference where appropriate in lambda capture list
- use auto if type is explicit

Modified error messages

Added connectingMessageBuffer

Code review changes

- need to verify if the method of differentiating between faulted, completed and canceled task is correct
- removed EncodeUri in StringHelper

Making StringHelper more efficient

Cleaning up code

- using the correct method to check for task exceptions/canceled
- added ExceptionHelper to differentiate between different exceptions

Cleaning up code

- using _s functions for security
- other clean ups

Same as the previous commit

Moved Testing code to ExceptionHelperTests

Fixing issues after merging new code

- temporarily disable a race in asyncstreamreader

Fixing bugs

- fixed undefined behaviour in deleting pReadBuffer

Fixed concurrency issue in AsyncStreamReader

Code Review changes

- improved negotiation response constructor
- added RunTaskToCompletion
- working on stopping connection concurrency problem
- some files changed after rebuilding the solution?

Fixed concurrency issue in connnection.stop

Removing useless functions/members, tracing statements are not removed

Added TransportInitializationHandler

Working Commit

- leaks and callback problem

found the leak, working on fixing TransportHelper::Delay

Fixed leak

TransportInitializationHandler working

Small changes

- now uses the TransportConnectTimeout from negotiation
- compare typeid() instead of typeid().name()
- Connection.Stop() only waits for mConnectTask for 30s

Locking callbacks to prevent tearing

Put all code under namespace MicrosoftAspNetSignalRClientCpp

- took out tracing codes

Added some missing code in serversenteventstransport

Added TransportAbortHandler

Added KeepAliveData and working on HearBeatMonitor

- also tried to make NegotiationResponse more robust
- added UpdateLaskKeepalive in Connections

Added HeartBeatMonitor and using keepalive

Fixed a circular reference in HeartBeatMonitor and working on connection tracing

Added Tracing and working on tracing formatted strings

Added tracing statements, restructured various bits of code

Added some unit tests for ChunkBuffer and EventSourceStreamReader

Added copyright headers in all the files in the c++ client

Forgot to save one file

Added Transport Tests

- also modified the connection constructor to take querystring value
- added endswith in string helper
- fixed a bug in TransportHelper

Removed upgrade files
Updated the casablanca library version

- moved UnitTestpp directory from test/Microsoft.AspNet.SignalR.Client.Cpp.Tests/ to tools/