HAL_AVR: changed to C implementation of float formatting

Many thanks to Soren Kuula for this work!
HAL: added Printf test sketch

for testing new non-asm printf code
AP_HAL: moved printf implementation from AP_HAL_AVR to AP_HAL

this gives a common printf implementation on all boards, which
simplifies testing, and also simplifies porting to new boards
AP_HAL_AVR_SITL: convert to new AP_HAL printf
AP_HAL_Empty: convert to new AP_HAL printf
AP_HAL_PX4: convert to new AP_HAL printf
AP_HAL_SMACCM: convert to new AP_HAL printf
AP_HAL: expanded printf test suite
AP_HAL_AVR: removed unused script
AP_HAL_SMACCM: use common printf implementation
HAL_PX4: use common printf implementation on UARTs
AP_HAL: added Util.cpp

common printf functions
AP_HAL: fixed length return from snprintf
AP_Param: use %f not %.6f for param show
DataFlash: use %f not %.6f