Feature/support for t compact protocol

Hello,

I took implementation of the ```TCompactProtocol``` from current apache thrift. 
Also I did some refactoring to this class.
``` ThriftConnection ``` by default uses a ``` TBinaryProtocol ```.

I'm just wondering. Isn't it better to take Thrift implementation from nuget?

Let me know in case of any issues.
Thanks!