Astros hand Cubs 8th straight loss with 2-1 win