Added functions to jump to system bootloader

See
[https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Fla
t.aspx?RootFolder=%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2Fcortex_mx
_stm32%2FSTM32%20Internal%20Bootloader&FolderCTID=0x01200200770978C69A11
41439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentviews=4833
] for details.
One-time USB shutdown implementation
Added usbdevice_shutdown prototype to usb_task.h
Merge pull request #26 from fluorumlabs/develop

Backport from 'develop'
Changed GCC mode from C99 to GNU99
defines.h code formatting
timing_init reset to native delay
I2C synchronization and device probing fixes
First attempt on cpu_bootloader implementation
Removed obsolete initialization
Removed usb_shutdown methods as not needed
Added USB state reset option to dfu-util command in makefile
Fixed system bootloader startup address
Changed item order for `Service` menu