Persist automate state data between retries

https://bugzilla.redhat.com/show_bug.cgi?id=1044175

During the execution of an automate method the following 3 methods
can be called to set/get/check for existence of state data.

$evm.set_state_var     This takes a name and value as the 2 arguments
$evm.get_state_var     This takes a name and returns the corresponding value object
$evm.state_var_exist?  This takes a name and checks if the variable exists

The name in all 3 functions above can be a string or a symbol.
If the name is missing nil is returned.
If this is still readable to you, can we start to follow this idiom?

Also, is there a reason to repopulate `args['ae_state_data']` with the yaml if we are deleting it? (honest question)

```
if (ae_state_data = args.delete('ae_state_data'))
  @persist_state_hash.merge!(YAML.load(ae_state_data))
end
```