Review of Nanoparticle Applications in Petroleum Engineering: Recent Advancements and Challenges