Add Italian application.

This PR contains most of #147. The differences are:
* It factors out the find parents code to a shared file between the GB and IT apps.
* Minor flake8 fixes.
* Rebased and squashed with minor commit renames.
* It doesn't include fc0880d (already in master), 2bb188e (now hopefully fixed on master), or bdf7209 (hopefully unnecessary).