Fix for "issues/62 fix PLL1 overclock bug" see hackrf_core.c -> cpu_clock_init()
Fix for "issues/78 startup current too high" see hackrf_core.c -> New functions cpu_clock_pll1_low_speed()/cpu_clock_pll1_max_speed() & hackrf_usb.c to switch low_speed/max_speed.
Merge remote-tracking branch 'TitanMKD/master' into titanmkd_overclock_fix

Conflicts:
	firmware/hackrf_usb/hackrf_usb.c
Pulled redundant PLL1 initialization code from cpu_clock_init(). Called cpu_clock_pll1_low_speed() instead.
Adjusted cpu_clock_pll1_low_speed() to operate at 48MHz, as per several comments with the code. The actual MSEL value was previously selecting 84MHz.
Added usb_set_configuration_changed_cb() call that bgamari fixed in his as-yet-unmerged USB branch.
Cleaned up management of SGPIO and transceiver mode state vs. USB configuration state. This should help with power management. It may also be necessary when operating at low speed (48MHz), to keep the SGPIO interrupts from chewing up ALL available CPU cycles.
Added two CGU debugging tools:

- check_clock.py to decode the frequency monitor result.
- dump_cgu.py to display selected CGU registers in a legible format.