add the updater

The updater, runs a sepret program so that it can update the main file
and relaunch it without having the user do anything.