Pull request feedback.
Merge OnApplyNumberOfPhases into OnApplyBegin.
Merge pull request #29 from rseanhall/cleanup

Pull request feedback
Merge pull request #30 from rseanhall/feat4413

Merge OnApplyNumberOfPhases into OnApplyBegin
Provide ICommand interface for all commands to inherit.
Refactor package cabinet creation in Binder into an ICommand.

In an effort to massively improve the code in the Binder, the gigantic
class is being broken into ICommand based classes. The first is the
package cabinet creation code. This first step of the refactoring simply
extracts the existing code from the Binder into the
CreateCabinetsCommand. Improving the code is the next step.
Remove unused namespaces, dead whitespace and format to the standard.
Very minor Binder code simplifications.
Refactor file transfers in Binder into an ICommand.

In an effort to massively improve the code in the Binder, the gigantic
class is being broken into ICommand based classes. This commit refactors
the file transfer code by simply extracting the existing code from the
Binder into the TransferFilesCommand. Improving the code comes after
this fundamental refactoring step.
Refactor bind transform in Binder into an ICommand.

In an effort to massively improve the code in the Binder, the gigantic
class is being broken into ICommand based classes. This commit refactors
the transform binding code by simply extracting the existing code from
the Binder into the BindTransformCommand. Improving the code comes after
this fundamental refactoring step.
Refactor bind database in Binder into an ICommand.

In an effort to massively improve the code in the Binder, the gigantic
class is being broken into ICommand based classes. This commit refactors
the database binding code by simply extracting the existing code from
the Binder into the BindDatabaseCommand and friends. Improving the code
comes after this fundamental refactoring step.
Refactor bind bundle in Binder into an ICommand.

In an effort to massively improve the code in the Binder, the gigantic
class is being broken into ICommand based classes. This commit refactors
the bundle binding code by simply extracting the existing code from
the Binder into the BindBundleCommand and friends. Improving the code
comes after this fundamental refactoring step.
Minor code clean up after major refactoring.
Make settings engine able to tolerate files that are locked for write, when necessary
Fix corner case bug found by inspecting code
Merge pull request #32 from Mike-GC/feature4355

Settings Engine Compatibility With App Database Files
Merge pull request #31 from robmen/binder-refactor

Binder refactor
Sync requests must be deduped to avoid the possibility of building up too many sync requests for the same location
Minor fix (free sync request if postthreadmessage ever fails to send it along)
Merge pull request #34 from Mike-GC/bug4435

Bug #4435: Sync Requests Must Be Deduped