Add a "framework" for setting output format on streams.
Move duration calculation utilities from fluidsynth.cpp into a separate header file.
Fix a bug which led to "note.tied" being always true.
output_format.hpp: use enum class.
Export to LilyPond.

This is a major refactoring of the original code by the PFA 2011/12 group.
Added support for upbeat (partial) and time sigs as well as the obligatory test cases.
Fix finger_change parsing.
Indent generated lilypond code.
Add a lilypond export test case for variation 13.
First stab at parsing (global) key signatures.
Fix include paths.
Kill accidentally added tab characters.
Emit lilypond fingering for chord notes as well.
Rename a visitor class for better consistency.
Move report_error type into a common accessible typedef.
Random Makefile love.
Move fingering related typedefs out of ambiguous namespace and add a typedef fingering_list.
A bit of renaming.
Allow to use different compilers by specifying CC and CXX env vars to ./configure.
Repare for interval octave calculation.
Fix a few references to hand_sing apparently forgotten in bdc2636af6f161c0e419c27ed913148cb27b59e8.