some fixes for cmd module

* fix bug: cmd._run does not care about env argument when runas is passed
* fix bug: unable to pass env param through command line
* fix bug: if runas set and shell rc files (.bashrc, .profile, etc) contain something that makes stdout output env gathering fails
* fix bug (FreeBSD specific): su -s key has different meening (not about shell)