Added the concept of design by contract.
Updated README to reflect design by contract.