This enhancement task is supposed to add the following enhancements: - Add the possibility to switch between metrics within the code (e.g. use Manhattan instead of Euclidean metric) - Add the possibility to use a user-defined metric (e.g. calling a user-defined `my_dissimilarity` function on input data) - Refactor the clustering method and put `clustering_exact` and `clustering_approx` methods in a separate file, to prepare for Curgraph adding (v2.0.0)