a work-around to avoid cpython bug (15881)

In python < 2.7.4, a lazy loading of package `pbr` will break setuptools if some other modules registered functions in `atexit`.
solution from: http://bugs.python.org/issue15881#msg170215
DOC: Updated index.rst: distribute -> setuptools

http://pythonhosted.org/setuptools/merge.html
Merge pull request #31 from westurner/patch-1

DOC: Updated index.rst: distribute -> setuptools
Merge pull request #30 from philiptzou/patch-1

a work-around to avoid cpython bug with atexit (15881)
use item access instead of temporary dict when ordering extensions
add test instance factory for the base, named, and hook managers

The class method make_test_instance constructs manager instances using a
predefined list of extensions, rather than loading from entry points.
make Extension responsible for formatting its target name
enabled extension manager test instance factory
driver extension manager test instance factory
simplify test instance factory contract

After some discussion, the make_test_instance factories expect a final
list of extensions, which simplifies creation and keeps responsibilities
better focused.  Users who wish to test their check functions should do
so separately.