Update smf.py to fix availability check on SmartOS

Checking availability uses the services name, not the package name. The get_all function (which is used by available and missing functions) returns the service name. While to install the package, you need the package name. For example, for nginx, you have pkgsrc/nginx for the service name and nginx for the package name.

/usr/bin/svcs -H -o SVC <packagename> will take the package name and return abbreviated service name which can then be compared against the service list returned by the get_all function.

This fix works on SmartOS, but it was not compared to other SMF distributions. Therefore, the fix was confined to SmartOS.
Fixed the trailing whitespace.
Use svcs for service.available in Solaris. Allows use of partial FMRI
match. Addition to #13983.
smf.py: use FMRI instead of SVC in Solaris svcs commands
Cherry-pick #14022 and #14156 onto 2014.1 branch
smf support cleanup

If it works on SmartOS and it works on Solaris, it's just plain the
right way to do things.
Remove the if statement.
Merge pull request #14305 from nshalman/smf-backport-14022-and-14156

Backport  #14022 and #14156 onto the 2014.1 branch
reqver uses a tuple not a string anymore
Merge pull request #14478 from UtahDave/2014.1

reqver uses a tuple not a string anymore