More than 50 people have been killed near India's northern Amritsar city after a train hit crowds celebrating a Hindu festival.