Use a delegate pattern with EphemerisParser

Pass the ephemeris method into EphemerisParser.parse so that it calls
the ephemeris' attr setters with the data, rather than just returning a
struct of data and then requiring me to pull it out afterwards.
Return data directly from EphemerisRequest#fetch

As opposed to returning the object with a data attr_reader and having to
pull it out.

The trade off is that I don't have external access to the state attr of
an EphemerisRequest, but that's probably a good thing.

The object should only care about it's state internally and fetch should
just fail if it doesn't end in the right state rather than checking from
the outside.
Add fetch class method to EphemerisRequest

Nice little facade to simplify instantiating and using one of these
object.