Buffer newick trees

I have added a mechanism that buffers newick subtrees and tries to reuse them. I'm not yet totally convinced that everything is correct in all situations, but I seems to work in general. 

The buffered version `scrm_buffer` is a tiny bit slower than the current master `scrm` for small sample sizes:

    time ./scrm 2 10 -r 4000 10000000 -l 300000 -seed 17 -T > /dev/null
    real    0m0.942s
    user    0m0.940s
    sys     0m0.000s
    time ./scrm_buffer 2 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null
    real    0m1.076s
    user    0m1.077s
    sys     0m0.000s

a bit faster for intermediate sample sizes:

    time ./scrm 20 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null
    real    0m6.646s
    user    0m6.633s
    sys     0m0.013s
    time ./scrm_buffer 20 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null 
    real    0m5.608s
    user    0m5.603s
    sys     0m0.000s

and hell of a lot faster for large sample size :smile: 

    time ./scrm 200 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null 
    real    0m45.322s
    user    0m45.147s
    sys     0m0.153s
    time ./scrm_buffer 200 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null
    real    0m13.480s
    user    0m13.363s
    sys     0m0.110s
    
    time ./scrm 2000 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null
    real    9m20.089s
    user    9m18.400s
    sys     0m1.453s
    time ./scrm_buffer 2000 10 -r 4000 10000000 -l 300000 -seed 32 -T > /dev/null
    real    1m16.741s
    user    1m15.133s
    sys     0m1.560s