engine: Add action type for snapshot.

The following patch changes the API between the client and the engine
when preview/commit or undo a snapshot.
The patch introduces the following changes:
* Adding an enum which distinguishes between several operations on a snapshot:
  Undo
  Commit
  Restore From Stateless status
* Use of snapshot instead snapshotId
* Changing the client to call to the engine with the operation on snapshot
* Removing snapshotId from the constructor of the parameters, since the
snapshot is only on a VM, and there is no reason to transfer it, but
better that the engine will fetch it, it self.
The reason for this change, is for REST operations to be implemented in
the following patches

Change-Id:If877befc5058c3412ae3d3731d5beacbc09e5c97
Bug-Url: https://bugzilla.redhat.com/867339
Signed-off-by: Maor Lipchuk <mlipchuk@redhat.com>