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.
So...if other.meta has a key that's also in self.meta, self.meta[key] will be overwritten by other.meta[key], is that right? 

For two sequential data files from the same instrument, most key values would (probably) not change. Maybe we just have to identify the special case keys that will change every time? The obvious ones would be ['start-time'], ['end-time'], ['obs-time'] etc.