Adds /*<type>*/ comments and a linter check from rz-bindgen to enforce
their existence and consistency
Also includes the following fixes made when adding the annotations:
* removed unused intern_table arguments in pyc_dis.c, pyc_dis.h, asm_pyc.c
* removed unused classes argument from place_nodes in agraph.c
* removed unused recurse and recurse_bb functions in canalysis.c
* removed unused vars field from RzPrint struct
* removed unused RzAnalysisType* structs from rz_analysis.h
* removed unused list field from RzEgg struct
* fixed bug in bp_plugin.c where duplication-checking logic iterates over the wrong list
* removed unused q_regs field from RzDebug struct
* removed unused backtrace field from RzDebugPlugin struct
* removed unused classes_list field from RzBinNXOObj struct
* removed unused methods_list and classes_list fields from RzBinZimgObj struct
* Remove `RIZIN_EXTRAS` because useless
Extras plugin should be treated as any other regular plugin, they should
not have their own directory. I believe we did not have anyway any
plugin using that directory.
* Do not use `<version>` in `/usr/share`
Users can only install one version of Rizin at a time anyway, thus
splitting the `/usr/share/rizin` directories does not really bring
multi-version install possible. At the same time, we stick to what's
common for other tools, which do not use version in `/usr/share`
* Move plugin directory to `/usr/lib64/rizin/plugins`
* Remove `RZ_HOME_BIN` env var because not useful anymore
* Introduce `rz_util/rz_path` to provide rizin paths
* Use `rz_path_system_sdb_types` whenever it makes sense
* Use some others `rz_path_*` functions instead of custom ones
* Use `rz_path` APIs for themes, fortunes and signatures
* Remove `rz_sys_prefix`
* Reduce the number of defines needed to handle home and system paths
* Reduce the number of `rz_path` functions
* Make the lib debug depending on log level and `RZ_LOG_DEBUG`
* Refactor a bit how directory of plugins are loaded
* Keep supporting old plugins directory for at least 0.4.0
* Refactor `rz_core_theme_nextpal()`
* Add tests for `ecp`, `ecn` and `ecoj`
* Add braces to avoid declaration after the label
* Use `RzCmdStateOutput` in `eco`
* Fix the output of the test for `ecoj`
* Introduce `RzConsPalSeekMode` and refactor `nextpal_item`
* Rename the APIs related to themes
* Rename `rz_core_get_theme` to `rz_core_theme_get`
* Rename `rz_core_load_theme` to `rz_core_theme_load`
* Rename `rz_core_list_themes` to `rz_core_theme_list`
* Add `curtheme` to `RzCore`
* Eliminate all global variables in cmd_eval.c
* Put the loop outside the `switch` in
`rz_cmd_eval_color_load_theme_handler`
* Remove `getNext` variable and use the `RzListIter`'s `p` variable
* Sort the list of loadable themes
* Use a normal `strcmp` as the comparator function while sorting themes
* Create new category for shell commands in new shell
* Port `env` and `exit`
* Port `ls`, `rm`, `sleep`, `uniq`, `uname` to new shell
* Rename `cname`s for shell commands
* Port `cp`, `cp.` and `echo`
* Port `cd` to newshell
* Add `~` (paths relative to home) handling in `rz_sys_chdir`
* Add `RZ_NONNULL` for `rz_sys_chdir`
* Port `cat`
* Port `mv` and `mkdir` to new shell; Remove old handlers
* Port `pwd`
* Port `sort`
* Remove `cp.` command
* Add `RZ_NONNULL` for arguments of `rz_syscmd_*` functions
* Port `cls` and `clear`
* cd to home when no argument provided
* Fix `mkdir`
* Add alias handling for `cat`
* Fix `mv` command
* Convert `ec` to the rzshell
* Port the `echo` command
* Make the `color` argument optional for `ecHw`
* Remove `rz_core_echo`
* Make `echo` a part of `e` commands
* Add tests for `eco` and `ecHw`
* Move the definition of `bool2status` to `cmd_eval.c`
* Fix `ecHj` and add a test for it