Moved two functions into new LilyPondFormatManager class.

    formattools.format_lilypond_attribute()
    formattools.format_lilypond_value()

All formattools functions will migrate into LilyPondFormatManager, and then
LilyPondFormatManager will migrate into systemtools, allowing formattols to be
deleted.
Removed two unused formattools functions.
Migrated two formattools functions into LilyPondFormatManager.
Removed two unused formattools functions.
Removed one unused formattools function.
Removed one unused formattools function.
Reimplemented LilyPondFormatManager in terms of schemetools.Scheme.
Moved contents of trunk into root directory.
Cleaning up after flattening.
Cleaned up setup.cfg.
Cleaning up after flattening.
Still cleaning up after flattening.
Removed ancient .version file.
Cleaned up .gitignore files.
Cleaned up after flattening project.
Moved abctools back to internals section of API.
Changed format_spec to format_specification.

Calling help(format) shows that the name of the second argument to built-in
format() is named format_spec. But we are able to name the second argument to
our custom __format__() methods without abbreviation because the second
argument to built-in format() is positional rather than keyword.
Removed AbjadObject._class_name property.

Use type(self).__name__ instead.
Implemented format protocol on rhythm-makers.

Example:

    >>> maker = rhythmmakertools.EvenRunRhythmMaker()
    >>> print format(maker)
    rhythmmakertools.EvenRunRhythmMaker(
            denominator_multiplier_exponent=0,
            beam_each_cell=True,
            beam_cells_together=False
            )

Here's how rhythm-makers implement __format__():

    def __format__(self, format_specification=''):
        if format_specification in ('', 'storage'):
            return self._storage_format
        return str(self)

Compare this with the way that components implement __format__():

    def __format__(self, format_specification=''):
        if format_specification in ('', 'lilypond'):
            return self._lilypond_format
        elif format_specification == 'storage':
            return self.storage_format
        return str(self)

Probably most objects in the system will end up implementing __format__() in
some way. Some object will implement LilyPond format (allowing for 'lilypond'),
some objects will implement storage format (allowing for 'storage') and some
objects will implement both LilyPond and storage format.

Note that in most cases saying ...

    format(whatever)

... will give you what you want. This will be due to intelligent defaults
applied to the second argument of each implementation of __format__().

Note also that this gives us a workable strategy in the docs: format examples
are documented in the docstring of __format__ on each class that particiaptes
in protocol.
Added proof-of-concept parameterized test.