Replace jshint by eslint
[jshint](https://jshint.com/) does not seem to be active anymore: https://github.com/jshint/jshint/commits/main/
And it is blocking the usage of new ES feature like https://foss.heptapod.net/tryton/tryton/-/jobs/2325161
So I propose to switch to eslint which looks like being actively maintained.
The switch should be done in two steps:
- [x] setup a configuration and exclude failing rules that are not critical (and fix critical one) to be back-ported
- [x] clean the source code to stop exclude rules for default branch only
issue