add user identity provisioning

@liggitt This builds on top of https://github.com/openshift/origin/pull/334, so I'll rebase it again once yours goes in, but I'm still looking for feedback.
> What is User.ID?

OpenShift's level of kubernetes still has TypeMeta.ID.  I thought they should match until we rebased.  Having something that anonymously contained TypeMeta without an ID felt weird.