example sinatra app
use new client feature_set API
safely escape nil values. thrift hates this
reset memoized feature_set at the end of request
whitespace