Make LightCurve handle multiple file downloads.

This back ports some of the work I did in the lightcurve factory to the current lightcurve implementation. I see this as some what of a bug fix, especially for the GOES LC.
it is you can use it like this `time in TimeRange()`