Added package->instrument support

Added a dictionary which maps from specific package names to instrument
numbers.

Updsted log example to better support this functionality.
Create basic tree to record package names.
Added getDepth() method
Added instrument to tree.

Each tree element has an instrument, which is unique amongst nodes with
that depth.
Added getInstrumentAtDepth

Addd the ability to get the instrument to be used for a package given a
specific depth.
Created midiLogger class.

Refactored log.py into a class. Started using tree.py for parsing
package names.
Refactored to hide instrumentation setup.

The setUpInstrumentation method is hidden behind a single create call
so that a user doesn't have to manually call this class before the
createMidiFile method -- a hidden dependancy.
Added bpm parameter.
Commented class.
Fixed bug in main.
Added tests.