Large sample optimization

This optimizes scrm towards larger trees. It should be particularly useful if a long exact window or many sample are used. It primarily changes the following options:

- Contemporary nodes are now stored in an unordered set instead of a vector if scrm is asked to simulate more than 750 samples. The set is slow for small sample size, but much fast if it get into the thousands.
- We try to use the saved contemporaries from the previous genealogy when search for the contemporaries of the local recombination point at the beginning of build a new genealogy. If this is possible, than we do not have to iterate through the very crowded lower part of the tree.
- The tests directory is now more organized.
- We have more automatic algorithm tests.

With that, we now consistenly outperfom the previous version:

![rplot02](https://cloud.githubusercontent.com/assets/2339377/3796153/1ae62cbc-1bc4-11e4-99fd-204dddb969e8.png)

(10Mb sequence, 100kb window, rec.rate 1e-8 per bp per generation)