Add localconfig to all state functions

Abstract the opts loading to a seperate function, and check a specific kwarg
Change timeout for CLI returns

This is a fix for #15905, the intent being that if you set a timeout it will actually time out. If you pass/set a timeout of 0 it will do the checking of minions etc to determine if the job is running. This seems to be a better compromise since the user/admin can decide wether to have timeouts or not
Add CLI timeout tests to standard client tests
Add tests for timeouts to client tests. In addition this makes all of the client functions have the same functionality
Update docs
lint fix
Attempt to fix race condition in return

This is due to our pinging of the minions for job returns, there is a non-zero amount of time between the job showing as "not running" on the minion and showing as recieved by the master. This will only be worse on Syndics-- so I'd recommend not using a 0 timeout value unless you have a small cluser
Remove "never timeout" feature
Pylint fix
Pylint fix
Merge pull request #15942 from jacksontj/develop

Change timeout for CLI returns
Merge pull request #16060 from cachedout/ioflo_doc

Start ioflo docs
Some improvements to parsing cmd output in list_

* Properly ignore "header" lines which indicate output in "CHS" or "CYL"
* Raise salt.exceptions.CommandExecutionError on unexpected parsing
	failures
* Always check for correct len of cols array before unpacking by index
More test coverage for salt.modules.parted

* Full coverage for "list_" method
Revert "Change timeout for CLI returns"
Merge pull request #16076 from saltstack/revert-15942-develop

Revert "Change timeout for CLI returns"
Minor edit for lint
Merge pull request #16062 from rallytime/fix_ec2_tests

Fix the ec2 cloud provider tests
Rework of more_time feature

In the past this feature has basically checked returns, pinged minions if they were still running the job, then returning once the job was no longer run remotely. This has caused some issues with race conditions if the minion or master are busy (and the time between minion done, and master recieved gets large).

This changes the behavior of the "wait" mechanism. The intent of this feature is to wait for the job return from all minions the job went to. To accomplish this we fire the job, then check the returns. If the initial returns are what we wanted/expected we break. If it isn't we will ping all targets and see if its still running. If more minions return, we merge them into the list of minions we are waiting for. We will timeout the job once all minions have stopped running the job and TIMEOUT seconds have passed (since the slowest minion)
Pylint cleanup