According to RM0351 and RM0394 flash needs to be programmed by double words. Also fix flash_program() which was wrong anyways. Reviewed-by: Karl Palsson <karlp@tweak.net.au>