Pull Request for Issue778: Move prepare call in AMDirectorySynchronizerDialog to different thread

Adds a class called AMThread that can return a worker object to the calling thread.
Uses this functionality to push the synchronizer to a different thread during the prepare() call, which can be expensive depending on how much data there is to compare.
I know this has been merged in already, but could we remove the commented out code since it's not necessary any more?