Energy Valley Optimizer (EVO) for Tracking the Global Maximum Power Point in a Solar PV System under Shading