Checkout context abstracts where you want your checkout context to be
located. It might seem odd, but if you consider an override such as:

  <browser:page
      for="*"
      name="getpaid-order"
      class="Products.PloneGetPaid.browser.order.OrderRoot"
      permission="zope2.View"
      />

where we allow getpaid-order to be applied to any context, then you
can now (if you supply your owner adapter implementation for
ICheckoutRoot) return users to a specific context instead of the site
root.


    >>> from getpaid.pxpay.interfaces import ICheckoutContext
    >>> checkout_context = ICheckoutContext(self.portal)
    >>> checkout_context.root_object
    <PloneSite at /plone>
    >>> checkout_context.root_url
    'http://nohost/plone'
    >>> checkout_context.store
    <PloneSite at /plone>
