Label Chord N-Grams with Root-and-Figured-Bass

It was so easy---thanks, music21!

Closes #209
Enabled Chord N-Gram Annotation on a Score

It was just lying there, begging to be added!
Update IntervalNGram.canonical() and Its Tests

The canonical() method now accepts two arguments for interval size and
quality.
Option to Ignore Interval Inversion and Int. N-Gram Voice Crossing

New checkbox in the GUI, and improved logic elsewhere. So fun.

Closes #199
Revise LilyPondExperiment to Accept Field Descriptions in Results

Some Experiments produce field descriptions as the first element in their
results list, which used to screw up the LilyPondExperiment.
Added Some GUI and Experiment Things for Targeted LilyPond Output

- New QLineEdit for which n-grams to annotate.
- New setting in ExperimentSettings
- Template TargetedIntervalNGramExperiment for Alex.
- LilyPondExperiment chooses T_I_NG_E when it should.
Progress on "Modification to Chord N-Gram Labels"

Toward issue #216.

Flat and sharp signs are automatically converted to their actual symbols,
in LilyPond chord n-gram labels. Parentheses now surround the
transformation, rather than the chord-and-FB-signature.
Improve Alignment of Annotated LilyPond N-Gram Ouptut

"Horizontal" events are now placed half-way between the "vertical" events
they connect.
Update _event_finder() in the Analyzer Module

_event_finder() now always records the offset being checked, rather
than the offset at which an event started. If somebody wishes to know the
offset at which an event started, they can use a different object-to-
string conversion lambda function.

I also updated the automated tests for this.
Improved Interval Formatting in Experiments

IntervalsLists and IntervalsStatistics now use a static method from
IntervalsLists to do the formatting for the string representing an
interval.
Wrote Tests for, and Fixed, IntervalsLists.interval_formatter()
Improved Vertical Alignment of Annotations in LilyPond N-Gram Output
GUI Parts List Uses Scroll Bars

It used to be that pieces with lots of parts would make the whole vis
window expand---even if it meant making part of the window go off the
screen. Now, if there are too many parts, a scroll bar appears to help
you see all the parts, and to avoid making the window expand.

Closes #213
Minor Fix to Flat/Sharp Replacement in LilyPond Output
Improved Handling of Part Checkboxes

Closes #215
Minor Fixes

- Changed style of import for OutputLilyPond, so it works on OS X
- Added a space for the LilyPond output Experiment
Minor Formatting Updates for IntervalNGram

Mostly to use unicode strings where possible.
Updated importer.import_piece() and Its Tests

- Added Sanctus.krn to the test_corpus, to test importing Opus objects
- Changed the try/except block to only catch converter errors
Some Initial Tests for the Experimenter Module

- IntervalsLists has some decent stuff
- IntervalsStatistics has some barely-acceptable stuff
- I also revised the documentation for IntervalsLists.__init__()
Merge pull request #231 from ELVIS-Project/30a550c5546426b730722247df4aafd1a412fbf8

Improvements to Automated Testing