Output uniform status message before and after src_test()

Output the status messages before and after running src_test()
unconditionally, alike it is done for other src_* phase functions,
rather than in EAPI-default src_test() function. This fixes the issue of
test phase output lacking delimitation whenever a custom src_test()
function was used.
repoman: Do not check for indirect inherits of deprecated eclasses

Complain only about deprecated eclasses that are inherited directly.
Checking indirectly inherited eclasses is pointless since the ebuild
maintainer can't really do anything about it --- it is up to
the maintainer of one of the directly inherited eclasses.
econf: Replace unnecessary 'case' statements with 'if's

Replace the 'case' statements used to match 'configure' output with
simpler pattern-matching 'if's.

Acked-by: Alexander Berntsen <bernalex@gentoo.org>
econf: Add EAPI-conditional arguments via array

Use a dedicated array variable to add EAPI-conditional arguments to
the configure script instead of prepending them to the command
parameters.
Fix off-by-one error in supported EAPI list

Fix the off-by-one error in construction of supported EAPI list that
resulted in EAPI 5 being considered unsupported.
Make eapi_is_supported() reuse _supported_eapis list

Make the eapi_is_supported() function use the generated list of
supported EAPIs rather than partial lists and integer comparison.
Rewrite default ebuild phase setting code

Replace the ebuild phase setting code for EAPI 2 and newer with a
simpler approach; first set proper default_* functions, and call them
within the phase. Disallow calling default_* for other phase functions
than the one being run.
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
portage/mail.py: don't encode Date header to bytes

As reported in bug #520752 comment #4, the _unicode_encode usage
triggers the following error with python 3.3.5:

	'bytes' object has no attribute 'encode'"

The _unicode_encode call is not needed for python2.x, since formatdate
returns bytes for python2.x.

Fixes: 7204b87040ed ("portage/mail.py: Make email date, timestamp RFC-compliant Bug 520752")
X-Gentoo-Bug: 520752
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=520752