Cleared IClient interface.
Reordered methods to focus on public members first.
Renamed factory methods from New* to Create*.
Documentation for UnexpectedResponseException.
Cleared OAuthClient implementation.
Updated view with user info - included provider name.
Changed before/after request signatures to allow more flexibility in client (OAuth2) implementation. Reordered OAuth2Client methods and simplified where possible their implementations.
Fixed OAuth2Client tests which were broken during last refactoring.
Fixed VkClient tests which were broken during last refactoring.
Fixed FacebookClient tests which were broken during last refactoring.
Added yet one more point of extensibility - GetLoginLinkUri is overridable now (OAuth2).