Prevent a keyerror when cloud mapping

removed the requirement that 'minion' must be in nodedata if 'minion' is in overrides. this requirement threw a keyerror on me.
Changes to schedule.modify to show a diff of what has changes when a scheduled job is updated.  Also some cleanup of duplicated code between add and modify, now moved into a common build_schedule_item function.  Some additional cleanup and the initial work on a state to manage scheduled jobs.
lint fixes
fixing docstrings.
Merge pull request #13645 from garethgreenaway/schedule_state

Updates to schedule.py module and initial work to add a state to manage scheduled jobs
Merge pull request #11784 from obimod/patch-1

Prevent a keyerror when cloud mapping
Added comments of where to modify behavior for presence support in RAET
enabled framer manger in minion.flo so minion initiates keep alive transactions
Merge remote-tracking branch 'upstream/develop' into sam_raet_47
Merge pull request #13660 from SmithSamuelM/sam_raet_47

Enabled framer manager that runs keep alive transactions initiated by minion
Document match for overstates

Uses compound matching. Closes #13659
Merge pull request #13661 from gtmanfred/develop

Document match for overstates
Add initial listener support to state runtime
Bah! overcomplicated it inline :)
Fixing the doc and escaping newline char
Merge pull request #13675 from nmadhok/fix-doc-states-file

Fixing the doc for salt.states.file - Fixes #13674
Do not unnecessarily recompile OpenVZ envId pattern

The pattern against which lines in /proc/self/status are matched is static and
therefore does not have to be (re-)compiled for every line in the file.
More cloud config unit tests
linting fix
Merge pull request #13678 from rallytime/cloud_config_tests

More cloud config unit tests