Reconsider namespace defaulting behavior

The following discussion from !2091 (merged) should be addressed:

  • @timofurrer started a discussion: (+2 comments)

    I'm not sure I get the full intention behind this maybe namespace and ensure namespace (ensureNamespaceIsSet) behavior. Is that a convenience feature so that users don't need to annotate their ServiceAccount and RoleBinding objects with a namespace and use the one from the namespace object? Is there other cases where this is useful? If it's only for this - wouldn't it be easier to just "require" the user to either (1) set the namespace for all objects or (2) always use the namespace object for all other objects?