pb: add protobuf entry type

@bmizerany @unihorn 
I am trying to move everything to protobuf one by one right now. 
My idea is to put all protobuf files inside a pb package. 
We can copy/unsafe convert to/from other types from/to our pb types.

One problem is that if we converted all things to protobuf right now, we need to start making all changes in two place (pb package and the package contains the real struct).