Fernando Cabada wins Twin Cities Marathon