Portugal holds state funeral for former president Mario Soares