Fix for pyobjects __salt__ wrapper (SaltObject)

This is a proposed fix for #18088 where the `__salt__` object cannot simply be iterated over when used via `salt-ssh`. The existing implementation of `SaltObject` (the pyobjects renderer wrapper for more object-oriented access to functions registered in the `__salt__` dictionary) requires iteration to resolve all modules in advance.

The new implementation changes this so it does not need to prepare the list of modules in advance but it just wraps anything passed and forwards it to the underlying dictionary.