Modified HorizontalIntervalIndexer and Added Tests

The offset of a horizontal interval is the offset of the second note.
Correct Bug in NGramIndexer

More than two simultaneous "vertical" events were output in the wrong
order. Corrected this and added tests.

Also moved formatting functions into their own functions---still untested.

The run() method is too complicated.
Updated analyzers/indexers/__init__.py for Newish Indexers
Merge branch 'visX-devel' of github.com:crantila/vis into visX-devel