self-update: Copy only relevant packages from PORTAGE_PYM_PATH

Update the self-update code to copy only packages relevant to Portage,
to avoid copying other packages when Portage is installed alongside
them.
portage.const: Make PORTAGE_PYM_PATH point to the real package tree

Change PORTAGE_PYM_PATH to use real package tree path rather than one
based on PORTAGE_BASE_PATH.
tests: Append .py to files that need to be installed

Append .py to the runTests script and __test__ files so that they could
be easily picked up by setup.py.
tests: Fix running on installed copy of Portage
Install Portage using setup.py
travis: Use setup.py for running tests
Apply 'nonfatal' to helpers only

Make 'nonfatal' modifier affect helpers only rather than disabling 'die'
completely. This improves the PMS conformance.