* rename bounds error functions
* move PF/OPF mask functions
* add option to solve OPF when generating data
* extract OPF data
* create metrics for PF and OPF
* unite numpy/torch data objects
* refactor ppc -> (o)pf conversion by splitting it into multiple smaller functions
* removed the functions that create the data objects. Instead, class constructors do that
* remove opf_feature_matrix from OPFData and replace it with the corresponding fields themselves