Militants 'kill 20 Iraqi soldiers' in attack near Mosul