heavy refactoring of load_data, with new helper functions and separate handling of CP vs OD constraints