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.