Go bindings: remove contextless metadata bindings.
Go bindings: expose the Metadata type.

Also modifies SetCurrentDebugLocation to take individual arguments rather
than an MDNode.
Go bindings: introduce Metadata.ReplaceAllUsesWith.
Go bindings: introduce llvm.TemporaryMDNode.
Go bindings: introduce Value.ConstantAsMetadata.