Supervisor module:
Support running supervisor from a virtualenv/custom path.
Support custom supervisor config file.
Create real tests using a virtual environment.

Supervisor state:
Fix restart when process is already running.
Support restart on watch.
Create real tests using a virtual environment.
Add missing test file
Give supervisor a little time to startup during tests
Merge branch 'develop' into supervisor-fixes
Reuse virtualenv for all supervisor tests
suse package updated to 0.15.2
added salt user for salt-master daemon process
Merge pull request #5299 from aboe76/suse_package_update

suse package updated to 0.15.2
Add links to Salt 0.15.2 Windows installers
Merge pull request #5300 from UtahDave/develop

Add links to Salt 0.15.2 Windows installers
Merge pull request #5297 from olliewalsh/supervisor-fixes

Supervisor module and state improvements
Fix misleading documentation on the env option for cmd.run

Fix #5275
avoid shadowing built-in bin() func
add spaces after commas
remove redundant check
various minor pylint fixes
modules/smartos_vmadm : add vm_info(uuid), vm_virt_type(uuid)

Two more functions to the SmartOS vmadm command :

* vm_info(uuid) : outputs the full JSON for the specified VM

* vm_virt_type(uuid) : helper which returns the type of virtualization
  (KVM or OS). This will help other functions to adapt their
  behaviour.
Merge pull request #5304 from virtua-network/vmadm

modules/smartos_vmadm : add vm_info(uuid), vm_virt_type(uuid)
Merge pull request #5301 from hulu/rbenv-style

rbenv module style improvements
Merge pull request #5303 from hulu/pylint-fixes

various minor pylint fixes
We can't use `getCanonArch()` after all.

Under a Fedora 18 machine for which the `cpuarch` grain reports `x86_64`:

```python
>>> import rpmUtils.arch
>>> rpmUtils.arch.getCanonArch()
'ia32e'
>>> rpmUtils.arch.legitMultiArchesInSameLib()
['x86_64', 'amd64', 'ia32e']
>>> rpmUtils.arch.getBaseArch()
'x86_64'
>>>
```

Under a CentOS 6.4 for which the `cpuarch` grain reports `i686`:
```
>>> import rpmUtils.arch
>>> rpmUtils.arch.getCanonArch()
'i686'
>>> rpmUtils.arch.legitMultiArchesInSameLib()
['i686']
>>> rpmUtils.arch.getBaseArch()
'i386'
>>>
```

The only common recipe seems to be using `legitMultiArchesInSameLib()`