Changelog:
- refactor: change API name:
- `pyJoules.energy_meter.measureit` to `pyJoules.energy_meter.measure_energy`
- `pyJoules.energy_sample` to `pyJoules.energy_trace`
- `pyJoules.energy_handler` to `pyJoules.handler`
- `pyJoules.energy_device` to `pyJoules.device`
- `pyJoules.energy_device.energy_device_factory` to `pyJoules.device.device_factory`
- `pyJoules.energy_device.EnergyDevice` to `pyJoules.device.Device`
- `pyJoules.energy_device.energy_domain` to `pyJoules.device.domain`
- `pyJoules.energy_device.energy_domain.EnergyDomain` to `pyJoules.device.domain.Domain`
- `pyJoules.energy_device.NoSuchEnergyDeviceError` to `pyJoules.device.NoSuchDeviceError`
- `pyJoules.energy_device.energy_device_factory.EnergyDeviceFactory` to `pyJoules.device.device_factory.DeviceFactory`
- [Better ReadTheDoc documentation](https://pyjoules.readthedocs.io/en/latest/)
- add tests
- `EnergyTrace` can be used as a list of `EnergySample` (support for `+`, `+=` operator and `append` method
- handler refactoring:
- Class from `energy_recorder` module have been moved in `handler` module
- `handler.process` method process only `EnergyTrace`