salt.utils.network._interfaces_ifconfig: SunOS fix

In SunOS 11.1 with IPv6 enabled interfaces occur twice in 'ifconfig -a'
output with the same name: for ipv4 and then for ipv6 addr family. Thus,
ipv6 data overwrites data collected from ipv4 interfaces.

Every instance has it's own 'UP' status and we assume that ipv4
status determines global interface status.

Thus commit tries to merge data from conflicting instances.

Also, regexp was tuned for SunOS's ifconfig.
Fixed not fully working requires in dir based functions like file.directory or file.recurse
If pulling a specific image tag check images locally with that tag
otherwise changes will be recorded even though there may not be any
Add another cmdmod.py unittest
Added some more cmdmod unittests
If umask=0 is provided, enter the umask if statement

Previously the 'Zero umask is not allowed' statement was not getting hit
Also updated the appropriate umask tests
More cmdmod unittests
fix typos in states.user.present #18590

Fixes #18590.
Adding salt.modules.zpool.online to allow changing the status of a device in pool to online
Adding salt.modules.zpool.offline to allow changing the status of a device in pool to offline
Make ZMQ 4 installation docs for ubuntu more clear

References #18476
Adding ability to bring a device offline temporarily in salt.modules.zpool.offline
Lint fixes: unused import, tabs
jids can't be ints anymore, because we can now set jid names.
Remove quotes from s3fs ETag entries

This causes md5 comparisons to fail and makes the master think it needs
to re-download every file.
fixes #18632 (os.path.expanduser does not expand quoted paths)
Add JID to scheduled jobs names as well
Proper minion config setup
Proper minion config initialization
Add required imports