Add fail_on parameter to define failure

This commit introduces a fail_on parameter to the mcollective type.  The
parameter accepts an integer or a percentage.  If the number of agents
that experience a failure exceeds the defined value, the resource is
marked as failed
Pass command line parameters as class parameters

Previous to this commit, when the user specified a command line argument
of var=value, the orchestrate application turned them into Facter facts
so the variables would be availble in the run script.  This commit
exposes the command line arguments as class parameters to the requested
class.
Fix bug in iterating on facts passed to MCO