Output an error if no matching sls file is found, Fix #5048
Fix some pep8
Make the error message more readable
Fixed issue with npm.install for npm>=1.2.21. Closes #5189
Added argument passing to cmd.script state
Fixed shadowing built-in in mdadm module. Ref #5085
Replace `rpmUtils.arch.getBaseArch()` with `rpmUtils.arch.getCanonArch()`.

According to the `rpmUtils.arch` source code, when no argument is passed to `rpmUtils.arch.getBaseArch()`, the result should be the same as `rpmUtils.arch.getCanonArch()`. However, in CentOS 6.4 with yum-3.2.29-40.el6.centos.noarch:

```python
>>> import rpmUtils.arch
>>> rpmUtils.arch.getBaseArch()
'i386'
>>> rpmUtils.arch.getBaseArch(None)
'i386'
>>> rpmUtils.arch.getCanonArch()
'i686'
>>>
```

This little thing made the `pkg.latest` state fail, and also the `pkg.latest_version` module function.
Added correct path for Gentoo iptables config file.
Gentoo also have a service to enforce iptables rules, maybe you can consider to handle it in some way.
I would have done that by myself, but this module looks to be still under heavy development and I don't want to create new issues.
A little fix in "file state" documentation
Set default for broadcast key