Correct parser to ignore escaped quotes when not in quotes already

Related to #8481
Catch task parameter splitting errors nicely

Fixes #8481
Merge branch 'optimise_utils_clean_data' of https://github.com/leth/ansible into leth-optimise_utils_clean_data
Merge branch 'leth-optimise_utils_clean_data' into devel
Unquote lines that were quoted for safety during eval in lineinfile

Fixes #8535
Merge
Merge
WIP on the re-implementation of fact caching and various backends.
Implement fact cache flushing alongside a command-line argument to invoke it.
Use cPickle in redis fact caching backend.
Implement connection pooling for memcached cache plugin.
Standardize exception handling
Add copyright header, let me know if corrections are needed.
Fix some copyrights, fix a misc test.
Use JSON instead of pickles for compatibility.
Make sure we only use unquote on quoted lines in lineinfile when needed
Adding integration test based on #8535
Text tweak

A suggestion to smooth out the text -- if you think it's an improvement, happy to make a larger PR with all the instances of this fixed.
Need to check e.errno instead of os.errno. Fixes #8548
Merge pull request #8549 from gregdek/devel

Text tweak