use ConservedPath class instead of vector<int>
This is a massive bout of refactoring, instead of just using vector<int>s
to store a path I implemented two classes ConservedPath and
ExtendedConservedPath which contain a path of ints and score information
for the ConservedPath and window_size for the Extended version.
In trying to unit test this I also ended up needing to implement several
useful things like operator== and operator<< (for the boost test cases).
for these classes and FLPs.
Though even with all of this refactoring the key feature of getting
the path score correct so I can use clipping planes isn't implemented yet.
But at least both old and new mussa work correctly with the refactoring.
And I fixed one of the rendering bugs in old mussa.
27 files changed: