TST/CLN: Refactor io.data.options class to improve testing
Removed most references to month and year (passing expiry date around instead).
Also protected with RemoteDataError checking for the expiry month links.

Fixes #7648

https://travis-ci.org/pydata/pandas/jobs/29115841

looks like need to trap that failure as well

thanks!
 There's no way to tell what the variables where at the time of the error on Travis CI is there? I don't want to trap too wide of an error - I'm guessing it failed there because it wasn't able to retrieve the underlying price.  
 since mkt is closed, you _might_ be able to reprod. You can 'trap' the error, then just use print statements (it will print to the log)
 I recreated it.  A missing underlying price.  Checked to make sure there is an underlying before reducing the dataframe.
 thanks!
