A 4.3 magnitude earthquake has jolted Himachal, with tremors felt across northern India.