Terminal oxidases, flavodiiron proteins and nitric oxide: insights into reaction mechanism and biological roles