OTA bootloader initial checkin

1. fix for remote reboot in previous commit
2. OTA bootloader initial version
3. adjustments to common header files to support usage in bootloader (c
instead of c++)