Use UserNamespace for all personal namespaces
We have 3 types of `Namespaces`: - personal namespace / `UserNamespace` - `Group` - `ProjectNamespace` Unfortunately, we don't have actually have `UserNamespace` model. We used a generic `Namespace` model instead, and had used various workarounds in the codebase for this (eg: [`Namespace#kind`](https://gitlab.com/gitlab-org/gitlab/-/blob/v14.0.0-ee/app/models/namespace.rb#L219)). This is confusing, but can be easily fixed and cleaned up: - introduce a new `UserNamespace` model which inherits from `Namespace` - backfill `type` to `UserNamespace` in a background migration - get rid of workaround for missing `type` for personal projects
epic