Refactor execution result to a be a class rather than a hash.

The set of attributes in the hash was a consistent list,
and reifying it as a first-class object is more appropriate
here.