dividing into modules

starting to break the code into modules :
hash.ml -> an implementation of an hash function
bloomfilter.ml -> fonctor that uses an hash module to build a data
structure module
mergetools.ml -> take a graph implementation and a data structure module
to build the functions needed to do merges
alea.ml -> provides a fonctor that, given a graph implementation and a
random function on some space, build a function that generates random
dags.

An example of the use of the different module to build the last one is
available in testbf.ml