Add version & release exception for comparisions
Use warning helpers for directives in directive/ folder

We missed those on the previous effort. Here we move the warning code in
directive/base.py and do the right imports.
Refactor section filter code into a separate method

As we think we're going to need it for the groups shortly.
Refactor section filter code

To take advantage of the OrFilters which can now take multiple arguments
so we don't have to create a mini hierarchy of OrFilters in order to
combine more than two, instead we map over the list to create the
filters and pass them all to the Or at the end.
Add section filter to doxygengroup directive

Having separated out the section filter code to a separate method we can
easily call it to create a filter for what to render for the group.
Add documentation & examples for :sections: option

We add public and private functions to our group.h code and then extend
the documentation to cover the :sections: option with examples that
illustrate the difference it can make.

We also rearrange the docs a little to make the examples page more of a
central documentation page for the doxygengroup directive and move more
of the information to there. Otherwise we risk the main directives page
becoming huge and the examples pages being under utilised. I think.
Default to 'public*, func*' instead of just 'public*'

It seems that top level functions go into their own sectiondef with a
'func' 'kind'. We'd really like to include them by default as they are
not considered 'private' in any way.

So we change the default and as it is no longer a single entry we change
to setting the default 'section' string and letting it pass through the
rest of the processing instead of special casing it and returning early.
Attempt to remember and restore branch in compare script

So that we're not left in a detached HEAD state as we were previously. I
keep forgetting and then commiting into the void.
Merge branch 'doxygengroup'