A review of diverting agents for reservoir stimulation