Okay, here is what I propose.
Change Site.get_sites() to look more carefully for sites,
using every path in qp.sites.__path__, not just the first one.
Modify qp.site.__init__.py to set the path to be:
${QP_SITES}
~/qp_sites
~/.qp_sites
~/.qp_sites
/var/qp_sites
Also add a -base= option to the 'qp' command,
which sets QP_SITES to be the directory where python finds the
mysites_package.
Add an __init__.py to qp.demo, so that the demo sites can, if
desired, be run using "qp --base=qp.demo start"
This also simplifies the installation procedure, since sites will
be a directory instead of a link.