Completely changed path_builder so it would be thread safe and the data would remain editable. Required a lot of changes in implementation details. Also needed operator== for point and matrix_2d. mesh_pattern_builder uses path_builder and so it required changes to handle the new changes. Added a bunch of enumerators to path_data_type as a result of the changes.