Examples to test the autodoxygenindex behaviour

It was providing none intuitive results for certain configurations.
Change auto_project_info cache key

To allow for different autodoxygenindex directives to reference the same
source_path but under different source names so that they are treated as
separate projects instead of having all the contents ever referenced at
a particular source_path repeated at each autodoxygenindex directive
location.

ie. to stop this situation where class and function refer to the same
source_path in the config from dumping the contents of both auto_class
and auto_function at both directive locations.

.. autodoxygenindex:: auto_class.h
   :source: class

.. autodoxygenindex:: auto_function.h
   :source: function

This issue was that we were keying our project info cache off the
source_path which is the same for both directives so when trying to
figure out the project info for the the "function" source, we find the
cached one from "class" and end up filing auto_function.h next to
auto_class.h and doxygening them both together.
Merge branch 'auto'
Rename testsuite to documentation

As that is what it is. If we ever write tests then we can have a
testsuite folder. Pretending otherwise is foolish!
Change in doxygen URL encoding

Not sure what this is, why we have this file or why it is commited if it
is generated by somehow from the other files. But we're keeping it for
the moment and this change happened on a clean and make so we're keeping
it.
Merge branch 'rename'
Use the same nodes as the Sphinx object description directives.

The object description directives provided in the various Sphinx domains use a
set of description nodes (desc, desc_signature, desc_content, etc.) to organize
the output.  We were using block quotes, paragraphs, and lines to provide a
similar looking output.  But the inconsistency made it hard to modify the look
of the breathe output using CSS.  This changeset modifies breathe to use the
description nodes for the top level organization of its output, and is a step
towards making it more consistent with the output of the Sphinx-provided
directives.
Merge branch 'update_formatting'
Add doxygen lists support.
Handle properly the nested numbered lists numerals.
Refactor a bit the list and list item rendering codes.
Make node_subtype an instance attribute

Declaring it in the class scope makes it a class attribute but different
instances of this class might have different values so we move it to an
instance attribute declared on the self inside the __init__.

We also keep the "listitem" argument as the first argument in the
constructor incase it is used without the keyword specifier elsewhere in
the code base.

We also unify the spelling of "subtype" as a single lowercase word.
Move nested list documentation to correct folder

A git rebase fail. The commits were written when the documentation
folder was "testsuite".
Merge branch 'lists'
Add union example to specifc examples

So that we have something to test with.
Improve node usage in refTypeSubRenderer

We match the approach in the index.py CompoundTypeSubRenderer as
improved by danielmatz.

In fact we really should refactor so that the same code is used in both
locations if at all possible. Else they'll fall out of sync.

We also change from using the self.data_object.kind to using
file_data.compounddef.kind for the identifying string (class, union,
etc.) This means that instead of looking at the stirng on the reference,
we wait to parse the data that is being referenced and dig down a level
to the compounddef and look at the kind on that.
Refactor compound rendering code into shared function

Used for both top level CompoundTypeSubRenderer and RefTypeSubRenderer
which both reference data in a separate file and read the file and
formation the content. Forcing both to use one function helps them not
to drift out of sync.
Update README

It had fallen out of the sync in a number of ways. We also stop
pretending that we have a testsuite.
Merge branch 'compound'
Add example code for doxygen groups
Add doxygengroup directive

We copy the doxygenfile directive for the moment. They should probably
be refactored to share implementations later.

We introduce a new filter and update the filter code to allow for the
selection of a node in the index.xml file rather than targeting the
compound.xml. The filter looks for the top level compound node of
kind=group which has the name we're interested in.

Having found this we then render it and everything under it.

Improvements:
- We should provide an option to allow the group itself to be ignored
  in case people just want to use groups as a mechanism for grouping
  content but not have them represented in the final docs.