Feature/support for t compact protocol

Hello,

I took implementation of TCompactProtocol from current apache thrift. 
Also I did some refactoring to this class.

I'm just wondering. Isn't it better to take Thrift implementation from nuget?

Let me know in case of any issue.
Thanks!