Refactor activity commands to only take hash as input

Activity commands used to support either plain string or hash as
inputs, now they support only hash.

Hash input can be either zipped from match data or hand written. When
it's hand written, it is converted to hash object with 'eval'. TODO
refactor this if other people write rules.

Sometimes an input is really a plain string. So requiring it to be
written as a hash is overhead. But I suspect keeping input as always a
hash will make future design revisions easier.