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.
> Setting ID here causes a compile error because the ID field belongs to an inlined struct... we have to set it on a separate line

@liggitt You can do something like: TypeMeta: kapi.TypeMeta{ID: ClientID},  That didn't require magically knowing exactly how the containing object was built at all :)