Add stop&rebootAfterPatch in json parameters
refactor reboot_if_required for redhat
Merge branch 'master' of https://github.com/bingosummer/azure-linux-extensions
split patch into 2 stages; user can stop/cancel download&stage1&stage2 in scheduled task
split one_off into 2 stages
change kill_exceeded_download to stop_download
fix bugs
Extract common codes into AbstractPatching.py; Add initial unittest
refactor SuSePatching.py; refactor self.check()
exit_if_seq_smaller is more generalized than exit_if_enabled
add more testcase
Fix one-off patching bug; Add more unittest
unittest complete
Add 'Pending Reboot' in .status if os needs to reboot and rebootAfterPatch is NotRequired
remove hutil.exit_if_seq_smaller in install() because install() and enable() share one seq when the extension is installed for the first time
fix waagent timeout in launchCommand
fix one-off timeout bug; fix broken pipe bug; fix pakage_download_path not exists bug; fix package_download_path not including failed pkg in one-off patch; change operation name in .status when -download, -patch and -oneoff
fix one-off timeout bug; refactor unittest of one-off patching
fix "Oracle Linux won't reboot because perl not installed"
fix "OSPatching apt-get -y install update-notifier-common failed"; fix "OSPatching ubuntu update package postfix failed and hang"