Structural and mechanistic aspects of flavoproteins: electron transfer through the nitric oxide synthase flavoprotein domain