BiFeO3  (BFO) Nanostructures: Energy, Environmental and Magnetic Storage