updater.sh fix
updater.sh must run itself on background because NUCI interface does not handle shell function on background well
These changes include
- new run_backgrounded function
- a little refactor of main flow
- handle rand-sleep mode when running on background