Improved Documenter class family: all concrete Documenter classes are
instantiable and doctested.


git-svn-id: http://music21.googlecode.com/svn/trunk@3455 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Added more doctests to documentation/documenters.py

git-svn-id: http://music21.googlecode.com/svn/trunk@3456 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Added more doctests to documentation/documenters.py

git-svn-id: http://music21.googlecode.com/svn/trunk@3457 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Implemented an identity map pattern on ClassDocumenter.

Only one ClassDocumenter is ever instantiated for a given class, if the
ClassDocumenter.fromIdentityMap(cls) classmethod is used.

This greatly saves memory and redundant processing.


git-svn-id: http://music21.googlecode.com/svn/trunk@3458 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Added stub modules to documentation/:

    - iterators.py, housing tools for finding various types of objects in
      music21's packagesystem
    - extensions.py, housing Sphinx extensions for manipulating docstrings
      according to music21's coding standards
    - writers.py, housing tools for writing ReST documentation to disk


git-svn-id: http://music21.googlecode.com/svn/trunk@3459 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Added documentation/library for housing code related to documentation building.

All Python modules in documentation will be moved into documentation/library in
a subsequent commit.

Only build/, source/, library/ and top-level scripts for building documentation
should live in documentation/ (along with an __init__.py file to bring the
entire directory into music21's packagesystem).  This makes for a very clean
separation of concerns:

    - Python code lives in library/
    - ReST, IPython notebooks, images and theme information live in source/
    - HTML and doctree output live in build/
    - scripts called directly by the user live in documenation/



git-svn-id: http://music21.googlecode.com/svn/trunk@3460 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Moved documentation/ Python modules into documentation/library.


git-svn-id: http://music21.googlecode.com/svn/trunk@3461 5c16147e-a200-11de-b0cc-ab0ad15e60d0
Wrote a stub Sphinx extension for processing music21's docstrings, and hooked
the extension into documentation/'s Sphinx configuration file.


git-svn-id: http://music21.googlecode.com/svn/trunk@3462 5c16147e-a200-11de-b0cc-ab0ad15e60d0