Use proper pseudo-tty's instead of pipes when using subprocess

This change avoids the "tcgetattr: Invalid argument" error by making sure the ssh we start does have a proper pseudo-tty.

We could also check whether our current terminal is a proper terminal (by doing a tcgetattr ourselves) but I don't think this adds anything.

This closes #1662 (if all use-cases have been tested: sudo, passwd)
Added pip-python to the search for CentOS 6 compatibility
Corrected for fallthrough
Merge pull request #1669 from dagwieers/ssh-tcgetattr2

Use proper pseudo-tty's instead of pipes when using subprocess
Merge pull request #1671 from tonk/devel

Added pip-python to the search for CentOS 6 compatibility
Fix minor spelling mistake in docsite
Merge pull request #1673 from JensRantil/fix-minor-docsite-spelling-mistake

Fix minor spelling mistake in docsite
The vars stop/start were intended as strings

This is a typo that was reported on IRC, because of this people got: "NameError: global name 'stop' is not defined".
Set all in the returned dict

Otherwise the group is lost, and group_vars/all isn't used.
Merge pull request #1676 from dagwieers/service-action-fix

The vars stop/start were intended as strings
Remove references to non-existant variable rc
Create groups in the first run through the file

Fixes #1208.
Make sure any existing groups gets reused
Rework "enabled" implementation for FreeBSD.

When trying to perform enabled=yes followed by enabled=no
against FreeBSD the module would die with the following error:
TypeError: sub() takes at most 4 arguments (5 given)

The target FreeBSD client (8.2) is running python 2.6.6. It seems the
extra 'flags' argument was added to re.sub() in 2.7.

In fixing this issue I have attempted to create a general atomic method
for modifying a rc.conf file. Hopefully this will make it easier to add
other rc based platorms. The strip/split magic was inspired by the user
module.
Use shlex for rc.conf parsing.

This makes the line parsing a lot more robust (and easier to read).
Code supplied by @dhozac, thanks!

Remove re import because this is not used anywhere.
added ability to override jinja enviornment from first line of template Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
added test for template overrides Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
moved override matching string to variable changed test template to match Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
fixed bug for string size mismatch, now substring depends on size of match string Signed-off-by: Brian Coca <briancoca+ansible@gmail.com>

Signed-off-by: Brian Coca <briancoca+dev@gmail.com>
Merge pull request #1680 from eest/fix_fbsd_enable

Rework FreeBSD "enabled" code