Support the 'packages' profile file as a directory

This adds proof-of-concept support for bug #282296. Current behaviour
without this change is to print a traceback.

Reviewed-by: Alexander Berntsen <bernalex@gentoo.org>
diff --git a/pym/portage/_sets/profiles.py b/pym/portage/_sets/profiles.py
index 39a2968..48c29de 100644
--- a/pym/portage/_sets/profiles.py
+++ b/pym/portage/_sets/profiles.py
@@ -33,7 +33,7 @@
 			writemsg_level("\nPackagesSystemSet: profile paths: %s\n" % \
 				(self._profile_paths,), level=logging.DEBUG, noiselevel=-1)
 
-		mylist = [grabfile_package(os.path.join(x, "packages"), verify_eapi=True) for x in self._profile_paths]
+		mylist = [grabfile_package(os.path.join(x, "packages"), recursive=True, verify_eapi=True) for x in self._profile_paths]
 
 		if debug:
 			writemsg_level("\nPackagesSystemSet: raw packages: %s\n" % \
diff --git a/pym/portage/package/ebuild/config.py b/pym/portage/package/ebuild/config.py
index e104501..e294968 100644
--- a/pym/portage/package/ebuild/config.py
+++ b/pym/portage/package/ebuild/config.py
@@ -557,7 +557,7 @@
 			self.user_profile_dir = locations_manager.user_profile_dir
 
 			packages_list = [grabfile_package(os.path.join(x, "packages"),
-				verify_eapi=True) for x in self.profiles]
+				recursive=True, verify_eapi=True) for x in self.profiles]
 			self.packages = tuple(stack_lists(packages_list, incremental=1))
 
 			# revmaskdict