Add some more info about enterprise extensions.
Merge pull request #1157 from kacfengine/extensions_docs

Add some more info about enterprise extensions.
Fix a logical operator inversion : && instead of ||
Provide the number of attributes (0) to XmlStartTag
Merge pull request #1161 from tzz/tzz/bugfix/XmlStartTag-arguments

Provide the number of attributes (0) to XmlStartTag
Merge pull request #1160 from lpefferkorn/fix_logic_error

Fix a logical operator inversion : && instead of ||
Fix unit test for XmlStartTag (Avahi)
Merge pull request #1163 from tzz/tzz/bugfix/XmlStartTag-arguments

Fix unit test for XmlStartTag (Avahi)
Redmine#3817: make sure reporting of arrays works properly
Merge pull request #1164 from tzz/test/3817-report-arrays

Redmine#3817: make sure reporting of arrays works properly
Queue implementation

This is a simple FIFO implementation using reference counting and
copy on write.

It implements the basic queue operations:
- Head: Return a pointer to the first element without dequeuing it.
- Enqueue: Adds one element to the end of the queue.
- Dequeue: Dequeues the first element of the queue and returns a
pointer to it.

In addition, it implements the basic administrative functions:
- New
- Destroy
- Copy
- Count
- IsEmpty

Incorporated most of the feedback received after the pull request was
published.