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.
RefCount improvements

Removing some error codes and replacing them with ProgrammingError.
RefCount is such an internal and basic structure that there is no
reason that any operation should fail, any problems are caused by
misuse.
Modifying List after RefCount modifications

Some minor adjustements were required after the removal of error
codes from RefCount.
Modifying Buffer after RefCount modifications

After the removal of error codes in RefCount, Buffer needed to be
adjusted accordingly.
contrib/cfengine-code-style.el: Fix file header and footer lines for ELPA compatibility

- Fix header line
- Add footer line
- Add Commentary section
- Add Code section
- Change semicolons of header comment lines from three to two
Merge pull request #1172 from yasuyk/fix-for-elpa

contrib/cfengine-code-style.el: Fix file header and footer lines for ELPA compatibility
Modifying Queue after RefCount modifications.
Modifying BufferList after RefCount modifications
Merge pull request #1166 from cduclos/queue-implementation

General libutils modifications and adding Queue
sysinfo: give group, comment, and derived-from tags.  Remove goal= tags.
Merge pull request #1165 from tzz/feature/redmine3283-tag-everything-n-stuff

sysinfo: give classes and variables: group, comment, and derived-from tags
fix Queue unit tests since queue->queue was removed
Merge pull request #1175 from tzz/master

fix Queue unit tests since queue->queue was removed
Redmine#3283: add group=Network tag to network-related classes and variables
Merge pull request #1176 from tzz/master

Redmine#3283: add group=Network tag to network-related classes and varia...
Move TimeAbs2Int to the place of use
Move Months2Seconds to the place of use
Move Day2Number to the place of use
Remove unused global variable
Remove unused CFINITSTARTTIME and associated code