Doxygen updates

I noticed there was an attempt at using Doxygen previously, but it was very old, and it seemed like no one had touched it in a while.

This is going to take some time and some help from everyone to really flesh out.
But here is a starting point.
I'll be going through some classes and functions documenting what I know, and I hope others will do the same. :-)

see http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html#cppblock

for information on proper doxygen documentation syntax.

Here is an example:
![screenshot from 2014-06-25 06 48 20](https://cloud.githubusercontent.com/assets/199018/3384355/a0f73b24-fc58-11e3-9e70-93a3467a1b18.png)


Note: 
this Pull Requests was branched off of my local branch which includes the changes from Pull Request #1148.
Please merge that one first to make the diff here easier to read. It's bad of me that I didn't start from scratch again here, but I just forgot that the A/VTail stuff was in my working branch (I didn't see it until I had already pushed and was looking at the diff for this Pull Request)