Update tests project structure.
Merge branch 'master' into 'develop'.
Fix MessageSerializer bug.

The problem was in wrong TLStreamer position retained after writing of
the body length before the body, hence position left on a serialized
message body beginning, but must be at the end.
Add helper: method for cloning of TLObjects.
Add MessageContainerHandlerFacts to tests project.
Change namespace of a couple of tests.
Replace PepitaGet with standard NuGet restore.
Fix Message.Equals() bug with bad Body comparing.
Move test ojects to .TestObject namespace.
Add ResponseDispatcher tests (and comment).
Replace dependency type with interface.

FirstRequestResponseHandler: replace dependency type (RequestsManager)
with interface (IRequestsManager).
Add FirstRequestResponseHandlerFacts.
Add verify request resend in BadMsgNotificationHandlerFacts.

Also replace NSubstitude to Moq in the test class.
Remove NSubstitute dependency from Tests project.
Update BadMsgNotificationHandlerFacts to be async.
Move ResponseDispatcherFacts.
Add RpcResultHandlerFacts.
Implement IEquatable in TestResponse.
Refactoring MTProtoConnectionFacts.
Add Category attribute to tests.