engine: Prevents duplicates parameters in multiple actions

The multiple action runner api serves as a method for
invoking multiple actions in a single call to the engine.
However, it turns out that due to a mysterious bug, in few
flows the UI provides the same parameter more than once which
might lead to an unexpected behavior (i.e. infinite locked vm).

By replacing the parameters collection type to set we prevent
that from happen, and each parameter class will implement its
own euqals() and hasCode() methods to enforce the uniqueness.

Change-Id: Ic874d31535d2189f934d629e689aa7a534c165d5
Bug-Url: https://bugzilla.redhat.com/1174815
Signed-off-by: Moti Asayag <masayag@redhat.com>