AP_HAL: implement betterstream functions in AP_HAL

this gives more consistancy between ports
AP_HAL_AVR: implement betterstream functions in AP_HAL

this gives more consistancy between ports
AP_HAL_AVR_SITL: implement betterstream functions in AP_HAL

this gives more consistancy between ports
AP_HAL_Empty: updates for new API
AP_HAL_PX4: updates for new API
AP_HAL_SMACCM: updates for new API
AP_HAL: use fabs() in print

fixes build on Arduino