not sure I want all this , but it helps.  :-)
create new "hardware type" APM_HARDWARE_PX4, which is a null-implementation copied from APM1 - -TODO implement this later.
disable "hardware types" other than  APM_HARDWARE_PX4 for now, as they don't compile on PX4.
move implementation details for the atmel replacement/s functions out into their own header ( not_atmel.h ) , as otherwise the Arduno .pde parser puts the function prototypes too high in the code, before we have all the includes included.
also,  disable APM_OBC for now - TODO.
also, disable types of hardware other than APM_HARDWARE_PX4 for now
move PX4 HARDWARE specifics to config.h where they belong. Also, don't assume APM2 if we are not APM1.
don't assume we are APM2 just because we are not APM1.
don't use prog_char any more.
PX4 might have 11 PWM channels, or more.  actually it has 4 via FMU board, and 8 via IO board, so maybe we up it to 12 later.
AP_ADC fixes to get PX4 to work OK,, includes AP_ADC_PX4 null implementation.
null the PX4 RC implementation properly, for now.
initialise AP_ADC_PX4 properly. also don't assume APM2 because we are not APM1 on update_aux_servo_function()
this is not a good upstream patch, as these files are important for APM1 and APM2 users. I'm just deleting these files as my compile was borking if I left them around.    TODO figure out why.
FastSerial is not pulled in under HAL.
buzz WIP PX4 stuff.