Added initial project files.
Split the large fixCleanObjectDocumentationLinks into several smaller methods and renamed it to fixCleanObjectDocumentation.

This makes the code more managable and clear, even in the future when additional fixes may be added.
Fixed members links generation code to properly handle :: and ().

The problem became evident after adding documentation that included only :: and () as standalone "words". The code assumed this is also a valid member documentation, even though the name was empty string. The result was that the code replaced all occurences or :: or () with empty reference tag and as a consequence, "real" members which were supposed to be replaced afterwards (and validly started with :: or ended with ()), were left as they were since the original string was no longer found. This is properly handled now, which can be seen from the updated source documentation in the header file as well.
Changed default doxygen handling to automatically treat the first sentence in the documentation as brief description.

Since this option will generate brief description from the first sentence up to the first dot, ending the sentence with three dots actually puts the last two to the detailed section. To allow proper handling, the documentation for testing protocols was changed.

Also added the doxygen configuration file and documentation set info plist to the Xcode project so that we can modify them easily within the Xcode.
Fixed XML makeup handling methods.

Before the original object's NSXmlDocument was passed to each. However this caused problems because some methods actually replace the document in the object's data. To solve it and make it safe for the future additions, the document is no longer passed to the methods but is instead retreived from the passed object data.
Implemented optional empty paragraphs removal.

In my documentation style, many empty paragraphs are created by doxygen. These can be removed to create nicer looking documentation. By default empty paragraphs are removed, but the user may disable this through command line switch.
Input and output paths options are required.

No real reason for this, except forcing the users to think where the output will be generated - thus making sure nothing is accidentally deleted if --cleanoutput is used. Input will most likely be passed from Xcode $SRCROOT build setting value most often, so it doesn't hurt to force it as well. We'll see.
Fixed xml tag names references in documentation.

Instead of using the <tag> notation, the less than and greater than chars were replaced by &lt; and &gt; otherwise doxygen warned about it (although it did produce valid documentation...
Changed detected object log output to verbose level instead of info.
Changed logging verosity handling.

Default verbose level is error instead of normal. Also changed the way normal log messages are handled - previously these were always logged, now they are logged only if normal level is desired. The result is clearer log output.
Implemented global parameters handling.

If Globals.plist file is found in the known templates path, the file values are copied over the factory defaults thus overriding them. This given users a chance to setup their desired global values for all projects. At the moment only reading support is provided, but in the future, the command line may allow users to change the global parameters.

Also refactored the way parameters are stored - instead of using ivar for each, a dictionary is used. This makes it much easier to implement factory defaults and globals. This works similar to NSUserDefaults class.
Fixed exception occurence when no templates path was given through command line.

Even though one of the known locations was found, the path was not added to the parameters dictionary. This caused the problem when standardizing the paths later on - since templates path key was not set, the dictionary raised the exception when the "standardized" path (also nil) was added to it...
Fixed the bug which prevented doxygen running in certain cases.

In certain cases doxygen would halt otherwise. The reason lies in pipeing the standard output within the runTask: method in Systemator. To solve it, I enabled the external utilities output emitting. Before the output was hidden unless debug verbose level was chosen.
All objects are now sorted on the index.
The succesfully finished message is displayed using normal output level so that the users can be sure about the result.
Fixed @see links code documentation for CommandLineParser(ClassPrivateAPI).
Added @see references to code documentation for DoxygenConverter(CleanXML).
Implemented optional category documentation merging to the extended class.

This option is on by default. It will merge all category sections for all categories that extend one of the documented classes to the end of the class sections.
Renamed --cleanoutput to --cleanbuild; makes more sense.
Implemented --cleantemp switch which removes temporary files.

This option is dynamic, depending the desired utility output. It always leaves the last generated output, but deletes all temporary files used to build it. If the utility creates clean xml, doxygen output is deleted. If the utility creates xhtml, clean xml is deleted as well. If the utility creates and installs documentation set, xhtml and docset in output path are deleted too.

Note that using this option doesn't require --cleanbuild if at least xhtml or documentation set is generated, since all temporary files used to build it will be deleted after succesful build.