Add doxygen, begin documenting, kitrap0d tidy

* Added the doxygen binaries and configuration.
* Added a `make docs` which generates documentation to the `docs` folder.
* Added some documentation to various areas of the source that I was
  working with. Over time I'll be adding more and more rather than trying
  to do it all in one hit.
* Refactored the kitrap0d code a bit to try to reduce code size.
More documnetation work
Even more docs
Documented base.* and core.*

Big job, this documentation lark. Also modified the prototype the
packet_is_tlv_null_terminated function, which used to take a Packet
instance as well as the TLV, but never used the packet in its
implementation.
Update .gitignore to avoid conflict
Resolve PR #31 conflict

Conflicts:
	.gitignore
Merging https://github.com/OJ/meterpreter/pull/1
Fix exclude config to ignore unnecessary content

Updated to use `EXCLUDE_PATTERNS` instead of `EXCLUDE_PATHS`. This
properly excludes the source of the libraries we use and also the
generated output on POSIX.

Thanks again to @jlee-r7 for the catch.
Land #31, doxygen