Add support of OPL files

The package should be able to read and write OPL files (as csv and json files).

Juice observation plan files (OPL) come with two flavors, a legacy one in plain text file in CSV format and a new one in JSON format.

The CSV only contains an observation key, the start and end times, the observation name and the name of the instrument:

# obs_key, start, end, bane, instrument
MAJIS_PRIME_OBSERVATION,2032-12-19T07:10:47Z,2032-12-19T07:19:32Z,MAJ_JUP_DISK_SCAN_ORB17_DES0001,MAJIS
MAJIS_PRIME_OBSERVATION,2032-12-19T07:30:36Z,2032-12-19T07:45:00Z,MAJ_JUP_AURORAL_MAPPING_ORB17_DES0001,MAJIS

Note: The OPL CSV header is often missing.

In the case of the JSON format, a JSON schema is defined by the JUICE SOC here. For example:

{
    "header": {
        "filename": "OPL_example.json",
        "creation_date": "2026-01-01T00:00:00Z",
        "author": "Majis Operations Toolbox"
    },
    "timeline": [
        {
            "name": "MAJ_JUP_DISK_SCAN_ORB17_DES0001",
            "instrument": "MAJIS",
            "type": "OBSERVATION",
            "observation_type": "PRIME",
            "start_time": "2032-12-19T07:10:47Z",
            "end_time": "2032-12-19T07:19:32Z",
        },
        {
            "name": "MAJ_JUP_AURORAL_MAPPING_ORB17_DES0001",
            "instrument": "MAJIS",
            "type": "OBSERVATION",
            "observation_type": "PRIME",
            "start_time": "2032-12-19T07:30:36Z",
            "end_time": "2032-12-19T07:45:00Z",
        },
    ],
}

The package should simplify as much as possible the reader, exporter and convertor of these files.

/cc @nmanaud

Edited by Benoît SEIGNOVERT