proto.Key and proto.EncKey for better static type checking!

Moved engine.Key to proto.Key and introduced a new proto.EncKey to
differentiate between unencoded keys and encoded keys. All engine
interfaces (lowest level) expected proto.EncKey. Higher level interface,
such as storage.MVCCC and storage.DB accept proto.Key.

These are now custom gogoproto types in the .proto files.
Merge pull request #145 from cockroachdb/spencerkimball/key-encoding

proto.Key and proto.EncKey for better static type checking!