Reimplement all other algorithms, except alternation depth and k-neighbourhood.

This implementation is built upon boost graph.
The alternation-depth algorithm will not be reimplemented in its current form,
since the definition does not correspond to the ones found in the literature.

TODO:
* Clean up the implementations
* Add implementation for k-neighbourhood