More targets for cleaning and better make depends

- Improved `make depends` to always check dependencies.
- `make cleaner` for clearing all build artifacts.
- `make clean-depends` for clearing dependencies with git.
- `make gitclean` for clearing all non-tracking files with git.