Migrate to using thrift
Implement using thrift server & clients
Fix more pep8 errors