As of last year, my Agreements were based on AIGA's Terms & Conditions ( http://www.aiga.org/standard-agreement/
) which is an excellent starting point to which you can cater to your own business. Recently, I've had a law firm craft a more specific Agreement based on where my business currently stands and where it's going. Mo money mo problems, so you need to protect yourself more throughly as business grows :)
In terms of number of revisions, I don't operate my business in that way. Not that it's wrong. Just the way I operate. Once the project goals are set, I'll put together a milestone checklist for each phase of the project, which I work hard to meet each milestone. I work in feedback changes and revisions into the timeframe of each milestone, but don't set an exact number. If the milestone is not reached, it's typically because of the clients doing. Therefore they know where they stand on launch dates being missed and additional costs being accounted for.