During a Black Lives Matter protest, three police officers have been shot and killed by snipers, with seven others wounded, three in critical condition.