Introduce doxygen
Renaming, add const, use AL::ALValue, documentation, and other improvements
Fix merging issues