Fix Bug in AggregatedPiece.get_data()

- Used to be that independent_analyzers had to be None. Now it can be
  None or [].
- I also added two tests to confirm this works as intended.
Review requirements.txt

- Removed the dependency on openpyxl, which is only required for Excel.
- Added optional_requirements.txt, which has some unnecessary but nice
  dependencies.
Significant Revision to API Documentation

- Move root of the WorkflowManager docs from vis.controllers to vis.
- Write a new "About" section to help new users get started.
Two Tiny Changes to workflow.py

- remove two "TODO"s for things that have been finished
- make two rST code examples render correctly as code examples