Switch to using the protobuf structs internally

Our internal representation was filling in more and more fields that
were just copied over from the protobuf structs we were using.  This
replaces the namedExpr type with just using the FetchResponse type
instead.  This is a large patch, but mostly it's just a rename.  The
other change that this includes is moving away from using math.NaN() and
instead using the proper IsAbsent[] array.