explicit dependencies in setup.py, explicit zcml loading in tests.

removes dependency on Plone and adds dependencies to all imported packages.
Should we remove ``Plone`` as a dependency and add ``Products.CMFPlone`` (if needed)? Depending on ``Plone`` effectively makes you depend on **everything** which is not the intended use case for plone.api