Add support for thrift data sources

Defines a thrift interface a service can implement to integrate with presto.