Response validation

Gives contract the ability of validate a given response. Even if it wasn't generated using Pacto itself.

Important notice: We renamed the method contract.validate to contract.replay. Event though it is not retro compatible, it seems to be more meaningful for us.