Proposal for solving api plugability

* In the conversion package, expose Src/Dest struct tags to conversionFuncs via the Scope, and the source/dest versions.
* In runtime, add "RawExtension" which just stores raw JSON (or yaml?) for deferred unpacking.
* In runtime, add global named Schemes.
* In runtime, add to the DefaultScheme conversionFuncs which convert between RawExtension and EmbeddedObject. They use a struct tag on the *internal* structure to determine which scheme to use, defaulting to DefaultScheme.

I think this is easy, readable, extensible, and will emit the JSON that we want.
I guess "used" is ambiguous. Parts of it are produced by conversion. I meant that conversion does not consume it. Will fix comment.