Bandgap engineering and mechanism study of nonmetal and metal ion codoped carbon nitride: C+Fe as an example.