Revert "Remove unused generate method"

This reverts commit a8b4f590c8e0b3d7559903ca1f94f42c3fa5b6e9.
Use #load_contract instead of #build_contract
Use RequestClause class instead of Request
Making rubcop happy. Fix identation for multiline params
Merge pull request #102 from thoughtworks/restore_contract_generation

Restore contract generation