Implement new timespan code

Implement new code to use pandas PeriodIndex objects to set the timespan
for solution.

Remove `date` module code.
Update documentation to match new period handling

Update Sphinx documentation to reflect changes in period handling.

[ci skip]