Defined "integration.run_tests()" function which can be used to execute
a particular integration test case. Existing bolerplate code in modules
and states tests is replaced with following lines:
if __name__ == '__main__':
from integration import run_tests
run_tests(TestCaseName)
Typical usecase could look like this:
python integration/modules/pip.py --no-clean -vv
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.
Integration tests requiring a salt master and daemon were seperated
from pure unit tests. For now both are run with runtest.py. In
the future it could take arguments for which type of tests to run.