Added tools for Fermi/GBM data, and added GBM as a lightcurve source

Added basic support for Fermi/GBM as a lightcurve source, and some additional tools in sunpy/instr for Fermi. In summary:

  - Added support for downloading Fermi/GBM quicklook (for now binning is fixed into ~7 channels) data for NaI detectors. BGO is not included yet.
  - Added tools to calculate NaI detector angles vs Sun at any time or for a timerange. This info is useful for choosing which detector to download data for.

This is still work in progress. Todo:
  ~~- more cleanup~~
  ~~- add tests~~
  ~~- deal with long timeranges in detector angle queries.~~

It would be possible to add support for arbitrary binning of the GBM data here (the native binning is in 128 channels), but this is a grey area between LC and Spectrum, so it's not clear to me how to proceed there. I'll raise this as a separate issue.




This is going to cause chaos with the plans for the factory class.