Add a timeout decorator for timing out functions that may hang

Fixes #6891
Addresses #6908 Add a mode parameter to apt_repository
Don't turn complex args back into a k=v string for the synchronize module

Fixes #6951
Fixing unit tests for synchronize due to earlier changes
Fixed test on 'cached' parameter.

'cached' parameter is boolean, not string
Merge pull request #6997 from ricard33/patch-1

Fixed test on 'cached' parameter.
Use combined cache for templating module vars

Fixes #6901
Removing .orig file merged in accidentally
Merge pull request #6900 from jimi-c/issue_6891_cifs_mount_hang

Add a timeout decorator for timing out functions that may hang
Make sure args in run_command are encoded for shlex.split calls on py2.6
Changing SSL cert detection method to allow for auto-negotiation of SSL protocols

Fixes #6904
Check to make sure the firewalld client is connected before proceeding

Fixes #6911
added homebrew to install doc
fixing bug where if both private_ip and assign_public_p are set ansible fails out
cleaning up the code a bit more
Merge pull request #7000 from adammenges/quick-doc-fix

Added homebrew to install doc
Fixed escaping of " in test_make_sudo_cmd in TestUtils so that it passes
as it should.

Signed-off-by: Timothy Appnel <tim@appnel.com>
Merge pull request #7007 from tima/test-sudo-cmd-esc

Fixed escaping of " in test_make_sudo_cmd in TestUtils so that it passes as it should.
This test appears OS specific, so disabling for now.
Get the bin path for commands in the unarchive module

Fixes #6927