Eureka!: An End-to-End Pipeline for JWST Time-Series Observations