Contract revisions
This pull request exchanges contract terminations for contract revisions. After careful analysis of the situation, I realized that contract terminations weren't sufficient to make fully functional microdiff channels. I have replaced them with contract revisions, which are extremely close to being a superset of functionality. At the very least, you can make microdiff channels now, which are a superset of micropayment channels. Yay.
I also changed the 'Start' and 'Expiration' variable names in the FileContract type to 'WindowStart' and 'WindowEnd', because I felt that these names more accurately reflected their function.