[cm3/sync] Add mutex_trylock()

Allows non-blocking use in user code.
[cm3/sync] mutex_lock now calls mutex_trylock repeatedly
ethernet: corrected typo in ethernet/phy_ksz8051mll.c to include setting the speed to 100M in case of 100M Half Duplex
Rename rcc_ppre1_frequency and rcc_ppre2_frequency

Rename rcc_ppre1_frequency and rcc_ppre2_frequency to rcc_apb1_frequency and rcc_apb2_frequency
Also add rcc_ahb_frequency (although it is not set correctly in all cases) which will be fixed by
the rcc commits later. Also fixup the only use in the library of these variables, the USART code.

And fix the typos that resulted
Make l1 generic too
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
F0 code updated to what should be the final architecture.
This commit adds changes to the l0 rcc system to be closer to the final
version.
This commit starts the process of add USART support to the l0 and pulls out the
usart common functions between l0 and f0 into a common file.
Fixed use of bare constants per BuFran's comments