Homestyx hydra

R1:c86dfd84d9ca

Wrap basic diff/revision association in a transaction

Summary:
This doesn't cover every case exhaustively (see comments) but should cover like
98% of the practical cases.

This makes one workflow modification: willWriteRevision() was previously
guaranteed to have a revisionID / revisionPHID and no longer is. I verified that
no field implementations depend on this behavior. Fields which depend on IDs
should be using didWriteRevision() instead.

Test Plan: Inserted a "throw" into the middle of the…
Repository: R1 hydra
Commit Date: Feb 2 2012