Create v1beta2 and allow multiple Codec encodings to exist

@lavalamp see changes related to killing DefaultCodec + EmbeddedObject being
package specific.

Key changes here are that the "latest" package has a Codec that defines the
default encoding.  Code that doesn't care about what it encodes to should use
that.  Code that must version bind still needs to use a specific packages Codec.
Nit: WatcH -> Watch