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.

This add, and needs tests, for the following behaviour:

* [ ] Addition of lightcurve objects (`append`)
* [ ] `LightCurve.create()` now accepts multiple file paths, in a list, and returns one LC. `from_file()`
* [ ] `download()` now accepts a list of URLs and returns a list of files.
yes, the header keys will be overwritten. I think we need some kind of abstraction to make this work properly.