Eclipse BaSyx 1.2.0 (Python)

# Release Notes
Version 1.2.0 of the BaSyx-Python SDK is all about bugfixes and comes with lots of improvements to our CI checks.

This release implements the following versions of the AAS specification:
 

  • Part 1 - Metamodel: v3.0.1
  • Schemata: v3.0.8
  • Part 2 - API: v3.0.0
  • Part 3a - Data Specification IEC 61360: v3.0.0
  • Part 5 - Package File Format (AASX): v3.0.0

Most notably, this release fixes the installation of the compliance tool, that was broken due to paths that were not correctly updated when moving it into its new location of the monolithic repository ([#356](https://github.com/eclipse-basyx/basyx-python-sdk/pull/356)). 
Furthermore, we improve the way `ModelReference`s are deserialized into Python objects by inferring the type of the object they refer to from the last `Key` of the `ModelReference`.
The main new feature is a so called `SetObjectStore` ([#340](https://github.com/eclipse-basyx/basyx-python-sdk/pull/340)) that automatically gets updated, if an object inside of it has a change to its `Identifier`. However, this safety comes with the disadvantage of being slower in accessing than the existing `DictObjectStore`. You can read all about the advantages and disadvantages and when to use which of these two stores in their docstrings.

# Changelog
**Notable:**
- Fix compliance tool imports and unittests and refactor to use a `pyproject.toml` (See: [#356](https://github.com/eclipse-basyx/basyx-python-sdk/pull/356), and [dae335](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/dae3354f5ae2e3564d8e061ee7635629f2f4708b)).
- Improve the way `ModelReference`s are deserialized by automatically inferring the type of the object they refer to, rather than always using the generic `model.Reference` (See: [#337](https://github.com/eclipse-basyx/basyx-python-sdk/pull/337), also: [933b9f](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/933b9fa74a89a1312f43b85fed4bba00db1dc4c0)).
- Add a new `SetObjectStore` (See: [#340](https://github.com/eclipse-basyx/basyx-python-sdk/pull/340))

**Improvements:**
- Improve the `README.md` documentation by fixing typos and broken links (See: [831bb8](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/cce33831bb8c5f301b2155707bf7a91da5fd7ef0), [899f40](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/899f401f97bd3f5aedad6eff8a77f1264b9bb6bd), and [9cb5b8](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/9cb5b89089e1d6562f16caac587e281e16918a49)).
- Improve the "Code Quality" section in `CONTRIBUTING.md` (See: [#376](https://github.com/eclipse-basyx/basyx-python-sdk/pull/376)).
- Add a CI check that checks that the copyright year in the license header of each file is correct (See: [2a94f3](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/2a94f3e88039954b5aa63dbbb07edf29402a39ac))

**Bugfixes:**
- Add a missing import in `tutorial_serialization_deserialization.py` (See: [#363](https://github.com/eclipse-basyx/basyx-python-sdk/pull/363))
- Update the version of `pyecma`-dependency, as there was a bugfix release that affected us (See: [789cb4](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/789cb4b1a5232bb458f8ce9499723f4fa7e8161b)).
- Move dependencies only needed when testing to `[dev]` section in the SDK's `pyproject.toml` (See: [#369](https://github.com/eclipse-basyx/basyx-python-sdk/pull/369)).
- Fix the installation of dependencies, when generating the developer documentation (See: [d32fd6](https://github.com/eclipse-basyx/basyx-python-sdk/pull/368/commits/d32fd6399fc7404e1e83bd03bbbe76f9b9889e01))
- Fix the redirects and wrong return status codes in `http.py` according to the specification; and change the way the SDK dependency is installed in the `server` (See: [#362](https://github.com/eclipse-basyx/basyx-python-sdk/pull/362)). 

Release Date
Release Type
Minor release