TST: Use benchmark returns from spreadsheet.

The risk unit tests were using the public Yahoo! data instead
of the returns from the answer key spreadsheet, change the RiskPeriod's
created in tests to use the values in the benchmark returns
column of the answer key.

Also, change the spreadsheet's benchmark volatility calculation
to use sample.
The use of population was exposed when the input values were
corrected.
BLD: Peg CI versions of lint checker libraries.

Match the revisions found in the dev requirements file, so that the
versions used during development and continuous integration.

Pegging the versions in two separate places may end being brittle,
but suppress the build failure because the unpegged installation
of flake8 pulled in newer versions of pyflakes and pep8.
ENH: Add OHLC to simulated data source
BLD: Fix import of answer key for compatibility with Python 3.

Python 3 requires explicit relative pathing.
First pass at making cumulative risk metrics match 1 year period.
Account for shifted columns in answer_key

Answer key had added so more columns for insight in to
the returns.
Update values since metrics have changed.
Use minute data for minute emission data.

Discovered when using [:dt] instead of .valid() to get
the current returns.
Create first day stats.
Handle first day return.
Use mean returns and treasury for sortino calculation.
Update indexes for answer key with Sortino.
Read downside risk.

Also fix sortino issues.
Use cumulative mean returns for comparison with dailies.

In downside risk.

Also hold on to the downside risk.
Update mapping into answer sheet.
Return 0.0 if there are no downsides.
Update answer key slots.
Use daily mean returns instead of cumulative.
Update risk answer key mapping.
Change degree of freedom.

Increase sig digits.