Add missing attributes to Agreement

The attributes added are state and agreement_details. They're only
mentionned in the documentation in a response example. They were
discovered because of errors that were thrown.
Changed Agreement#execute to Agreement::execute

This was initially created as an instance method to reflect
Payment#execute, but after usage it became clear that the REST API's
execute method for Agreements is better represented as a class
method.