US sacks top commander in Afghanistan