module.lxc: support for complex network scenariis.

This allow to set additional network nics where the gateway can be setup on.
This allow for exemple eth0 to be on an hostonly network while eth1
is wired to the physical host throught another bridge and eth1 is holding
a publicly addressable IP.

cc @mgw @thatch45 @s0undt3ch @regilero @squizou @jpcw @samaradona
lxc: override default gw
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