Minor Fix

Corrected issue where chk_all_voice_combos was written as
chk__all_voice_combos thanks to careless use of auto-replace.
Revised ChordNGram str()-making Algorithm

I moved the fixed strings into class variables, and changed "is" to
"ident," as requested by Prof. Rusch.
List of Parts Displays in "Analyzing" Panel

Previously, the "analyzing" panel didn't correctly display the list of
parts in a piece. Now it does.
Improved Experiment-to-Display Process

Experiment subclasses know which Display subclasses they're good for.

The existing Experiments were revised so they produce useful python
objects.

There is a new Display subclass (SpreadsheetFileDisplay) that takes the
output of those experiments, makes it into a CSV string, then outputs
it through the existing FileOutputDisplay class.
Simplified GUI

I removed many of the widgets on the "experiment" panel that are--at least
for now--not being used.

Choosing a different object for consideration (intervals, interval n-grams,
chord n-grams, and others later) automatically enables and disables
widgets on that panel.
Commented Unused GUI Widgets on "Experiment" Panel

So it doesn't crash any more.
Add __getitem__() to AnalysisRecord
Significant Revision in Experimenter
Support for "Salami" in GUI. Correct IntervalsLists Errors

- IntervalsLists deals with Rest objects
- IntervalsLists output is a bit more consistent
- "salami" is now sometimes called "repeat consecutive (identical)"
- Added new column to ListOfPieces for "repeat consecutive"
- Added new QCheckBox & signals/slots for "repeat consecutive"
Revised Automated Tests and Fixed a Bug

- Automated tests now work with the model changes in commit 867f6d0111
- Added a new test and revised those for import_pieces()
- Fixed memory-copying bug that meant only one piece could be imported
- Added unit test for the previous bug
Implement Basics for IntervalsStatistics and IntervalNGramStatistics

Working toward finally finishing issue #135.
Minor Adjustment to run_tests.py

Just changed some category headings to help find tests.
Implemented IntervalsStatistics Experiment and List Output for It

I also adjusted the GUI file to use the right ExperimentSettings. I also
improved the Experiment-selection and Display-selection code.
Improvements for Display Class Selection

The GUI can now use ExperimentSettings to specify a particular Display
class be used for a particular Experiment. There's an error message when
this wasn't done properly.
Initial Implementation of IntervalNGramStatistics

So now we can collect statistics for n-grams composed of vertical
intervals. This marks the completion of the following issues:
- closes #135
- closes #134
Fixed StatisticsListDisplay Output

It used to remove the last 2 characters in every line, but now it doesn't.
Minor Fix to StatisticsListDisplay Header Alignment
Significant Fixes for IntervalNGramStatistics

- fixed IndexError when the n-gram finder would go off the end of the
  AnalysisRecord
- fixed xrange() calculation error (on my part) where 2-grams were built
  with a vertical interval and the same vertical interval, rather than
  the a v.i. and the next one
Experiment Subclasses Know Their Controller

I added an argument to __init__(), so an Experiment knows its controller,
which means errors can be sent through its error() signal.

Also other minor clean-up things.
Merge branch 'master' into vis8