1.1 add parallel computation of GEDs.
1.2 randomly initialize edit costs instead of uniform initialization.
1.3 remove the constrain that sum of the edit costs has to be equal to 1, avoiding sparsity.
* rewrite the implementation of the marginalized kernel.
* implement four computing methods of the generalized random walk kernel.
* in the path kernel up to length h, use trie to save all paths, saving tremendous memories; use the Deep-first search to get paths from graphs.
* in model_selection_for_precomputed_kernel method, complete the part to do cross validation when Gram matrices are read from file.
* in get_dataset_attributes methods, correct three sub-methods about getting node degrees, add sub-methods to get fill factors of graphs.
* change default chunksize of pool.imap_unordered parallel method to 100.
* remove try... except blocks in case they hidden bugs.
2. update pygraph.utils.graphdatasets.get_dataset_attributes function, so that if a dataset has missing attributes it can still read the dimension of attributes.
2. save gram matrices and relative data when using function cross_validation_pre_computed, before cross validation step, in case that something goes wrong with CV. Parameter read_gm_from_file can be used to choose whether to read gram matrices from file.
3. add some test code to check if a gram matrix is symmetric and positive semi-definite.