Implement all FFI methods relating to `Pact`

Description

  • Implement all missing methods for the Pact class. The scope of 'all' here relates to the methods exposed by the FFI which typically either: construct a Pact (returning a PactHandle); or, take a PactHandle as an argument and modify the underlying Pact
  • Ensure all new methods are systematically unit-tested.

Has this been requested on Canny?

No

Motivation

Initial work implementing the Pact class was done as part of #410; however, the scope of the PR was limited to a MWE to ease with the review and ensure that the more substantive/foundational parts can be reviewed and the finer implementation details can kept separate.

Have you tried building it?

Continuation of prior work.

Self-service

  • I'd be willing to contribute this feature to Pact Python myself.