Finnegan loses no-hitter in seventh, Cubs rally to beat Reds