Fix `win_pkg.version` with multiple arguments

Issue #14638: it was translating package names to Windows full_name but it's not necessary.
Add master_id to pub/ret data as ground work for multi_syndic
Basics working, can't handle restart of a master yet...
Handle failures of upstream masters
Update notes
pep8
Major re-work to look more like MultiMinion
Add hard coded timeout for syndic being dead
More code cleanup, wrap all the calls to syndics in _call_syndic
Make backoff use acceptance_wait_time
Pep8 cleanup
Add master_id to master docs
Simplify `user.list_users` on Windows

 - 'None' is simplier than 'localhost' and coherent with `module.win_file`
 - Level 0 is enough as we just need the username
 - Remove useless log
Use win32 API to get user info in `user.info`

Issue #14679: Calling `net user <name>` and parsing it is broken
on non-English Windows because the output is i18nized.
Improve `user.info` output on Windows

 - Add 'uid' information
 - Use it to get userprofile from registry
 - Fallback 'home' to 'profile' if not set
Improve `user.getent` on Windows

 - Call `user.list_users` instead of duplicating the behavior
 - Get 'uid' directly from `user.version` result
Address issue #8617 "Salt to configure Linux ethernet NIC TX and TX buffers"
fix "AttributeError: 'str' object has no attribute 'get'" and happier lint
SUSE patch from @etiennepouliot
set default for getattr