structured message for selector; matching functionality

In response to https://github.com/GoogleCloudPlatform/kubernetes/pull/360. This is an incremental change. To more fully realize the goals outlined therein, a string form would need to be added, deprecated selector code in this commit's files would need to be removed and the structured message would need to be expanded.