I don't really like doing this, but `/tmp/subsalttest dir` is already
hardcoded in other places for running tests.
Without this, when running tests under a mounted Vagrant drive,
`ssh-keygen` doesn't have permission to create the symlink for
known_hosts to known_hosts.old, causing a test to fail.
```
======================================================================
FAIL: test_rm_known_host (integration.modules.ssh.SSHModuleTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/vagrant/tests/integration/modules/ssh.py", line 143, in
test_rm_known_host
self.assertEqual(ret, 'add')
AssertionError: 'exists' != 'add'
```
`link /vagrant/tests/integration/tmp/known_hosts to
/vagrant/tests/integration/tmp/known_hosts.old: Operation not permitted`
In addition to traditional file system path test discovery it is
useful to run a test by stating it's dotted python path. For example,
this will only run the cmdmod integration tests from the
module suite::
$ runtests.py -n tests.integration.modules.cmdmod
This caused problems when adding another host and you'd end up with
entries such as:
```
192.168.1.2\t\thost2\thost2alias192.168.1.1\t\thost1\thost1alias
```
Test updated to reflect.
Given a state entry like the following:
```
host-staging-web:
host:
- present
- ip: 10.102.130.100
- names:
- staging-web.fqdn.com
- staging-web
- alt-staging-hostname
```
You'd end up with three different entries in your hosts file:
```
10.102.130.100 staging-web.fqdn.com
10.102.130.100 staging-web.fqdn.com staging-web
10.102.130.100 staging-web.fqdn.com staging-web alt-staging-hostname
```
This corrects it by removing the previous line before appending the
newly crafted on, and adds tests to prove it.