Modularization of the module and other things

Hello, 

I have upgraded thrift to the latest version 0.9.1 and I also modularized the module a little bit and added tests for the manifests. 

I maintained the api of the module intact but added test coverage and also "linted" the module.

See if you would like to take my changes in.

Regards