Overhaul TargetItem based on @lesauxvi 's PR #313
* Initial attempt at extra checks in CI land * Adding flake8 config * Adding pre-commit configuration and explanation in CONTRIBUTING.md