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.
This may just be because I don't know all the details, but I don't see why the helper class is needed.  Why can't AMThread handle the pushObject() method?