Some quick formatting changes.  Does not contain any functional changes.
Removing the thread-local variables and functionality around "deactivated", "postInsertModifications", and "pendingFlushHolder, as none of these seem to be used anywhere / any longer
Doing a bunch of re-formatting of the interceptor methods to make it a bit more readable.  Moving the creation of a new sync record out of the afterTransactionStarted method so that we are never overwriting sync records that have not been persisted.  Putting this into a new getSyncRecord() method that will return the existing sync record or create a new one on the thread local if needed.
Remove the ThreadLocal for indicating whether the beforeTransactionCompleted process had already been registered, as we think this is causing issues where our code thinks this process is already registered (and so doesn't register it again), but where it isn't actually registered with hibernate (so sync records never actually get saved).  Instead, we just register this process no matter what in the preFlush method to ensure it is registered in time.  If we happen to register multiple instances of this, it's not really a big deal, and far more preferable than accidentally not registering it at all, as the first registered one will process the sync record and the remaining ones will just return with nothing to process.
Add some additional unit tests around handling of multiple transactions in the same thread, change interceptor to use the singleton pattern and implement readResolve for potential serialization, and modify logging so that info is less verbose.
Minor change to location of logging to output more useful info
Add various transactional unit tests that demonstrate failing issue that was fixed by Interceptor modifications.
Merge pull request #17 from openmrs/interceptor-rework

SYNC-325: Sync Records are lost if multiple transactions run on the same thread