Reuse Channels

with support for multiple ttypes

Submitting merge request to get jenkins run. Last time this was merged there were some problems which seem to be related to this but i'm unable to reproduce them locally-- so hopefully we can get something from Jenkins :)
Fixing ini_manage module to preserve empty options. Added unit test for module to verify there are no regressions.
Fixing formatting in ini_manage_test.py.
Fix various "DeprecationWarning, module not renaming, just have __virtual__ return True" messages
Update svn.py

export support revision
Pass '--return' settings in batch mode.
file.replace: append/prepend_if_not_found
file.replace(append_if_not_found) - test units
Merge pull request #11159 from StephenPCG/fix-returner-in-batch-mode

Pass '--return' settings in batch mode.
fixing win_servermanager install/remove function
Merge remote-tracking branch 'upstream/develop' into develop
Merge pull request #11165 from ranl/develop

fixing win_servermanager install/remove function
FN_CACHE was not efficient as it was used to replace another dict.

And was defeating ``reload_modules: true`` in states.
states.file.replace(append/prepend_if_not_found)
don't exit in an unknown state
return only once

for consistency with the build() function.
was producing redundant information in output
mkpart should only create partitions and mkpartfs should support xfs
rename variable to ease code reading
_ret_status expect only keywords argument