WIP: Support both Zope2 and Zope4
I introduce small changes to support both Zope2 and Zope4 in the same branch, so that those who don't upgrade to Zope4 in near future can still keep contributing.
Also, it may make project code upgrade safer, like you upgrade to the latest code on Zope2 first, then upgrade to Zope4.
Here are changes to the current master (normal Zope2 branch) :