[usb] fix user_callback_set_config

USB using control callbacks was broken since d6bad27735a77b8daa90ce72b843cf08ba78697d
Properly check if user usb control callback are registered,
while here make sure user_callback_set_config callback pointers are initialized to NULL.
stm32: f1: fix missing ahb_freq
First cut at an HSI configuration API for rcc on the STMF4 series.

Fixed constant usage, and a AHB frequency computation.

And including an F0 rework of RCC a bit to put the rcc_set_hsi_clock code in
the F0 tree as well, tested on the Nucleo F030RE.

Further generalizing the clock setup to work for HSE and HSI clocks

Conflicts:
	include/libopencm3/stm32/f0/rcc.h
	lib/stm32/f0/rcc.c
F0 code update

Deprecates some functions. Unify around rcc_pll_clock_setup()

Conflicts:
	include/libopencm3/stm32/f0/rcc.h
	lib/stm32/f0/rcc.c
This commit adds changes to the l0 rcc system to be closer to the final
version.
Fixed use of bare constants per BuFran's comments
Additional fixups

Merging the rename commit and usb commit broke this pull
but these changes fix it up.
F4 basically done

This commit leaves the F4 rcc.c with the top layer API intact and the most
common #defines for clock setups with the PLL. It does not remove the former
clock setting functions.
F0 RCC brought up to spec

Updated the F0 rcc code to bring it into alignment with the cleaner
path. Once done it should be possible for any STM chip to use
rcc_pll_clock_setup(RCC_xMHZ_HSI_maxMHZ_PLL, RCC_HSI_FREQUENCY); to set
the clock to the maximum clock frequency for that chip using the HSI
clock.
Remove typo in rcc_set_ppre