Since the ApplyUpdate and SwitchToUpdatedApp functions are almost entirely the same this moves everything into ApplyUpdate. Removes most of the gonk code from application update. Makes client code and xpcshell tests use the same code for directory providers in nsUpdateDriver.cpp.