Make "Interval N-Grams" Experiments Pay Attention to Simple/Compound

Closes #269

I wrote a new integration test for this, because mocking settings()
would have required much more effort than I can justify right now.
Improve API Docs for AggregatedPieces.get_data()
Failing Tests for Running Experimenter as First Analyzer

We're on the path to allowing an Experimenter as the "first" analyzer in a
call to get_data() for IndexedPiece and AggregatedPieces.
IndexedPiece.get_data() Accepts an Experimenter as First Analyzer

This commit...
- corrects & refactors the test
- adds a fix to to avoid an AttributeError when accessing
 "required_score_type" on an Experimenter
AggregatedPieces.get_data() Accepts Experimenter as First Analyzer

- given a previous output from get_data(), get_data() calls
  IndexedPiece.get_data() appropriately
- revised/improved/corrected the test
Corrected WorkflowManager.output() Tests

I should have changed them with commit
b32b7986d9f9a14898ed01c6a935da3dafa8bafc
Merge commit 'd418c7f4446e77df94a347892168b261532cf8d9' into issue264
WorkflowManager Intervals Experiments Use Separate Filter Methods

- this is in WorkflowManager._intervs()
- FilterByOffset and FilterByRepeat indexers are called through another method
- result aggregation is done with another method

Reasons:
- help solve issue #264
- reduce code duplication
- tests are easier to read
WorkflowManager N-Grams Experiments Use Separate Filter Methods

- this is in WorkflowManager._intervs()
- FilterByOffset and FilterByRepeat indexers are called through another method
- result aggregation is done with another method

Reasons:
- help solve issue #264
- reduce code duplication
- fewer, easier-to-read tests
WorkflowManager._run_off_rep() Handles Dicts

- Closes #264
- I want to say I'm surprised at how simple this was, after I went through
  all the trouble of the previous set of commits, but I'm not.