[TASK] Documentation

**WIP: please don't merge**

This task is all about documentation. The goal is to change all code files and add extensive documentation. Before i do all of them i would like everyones input about the style of the docs.

I would like to keep it light and a bit funny, addressing the coder directly with ``you``, and provide easy but exhaustive examples (cats, just because).

This includes a custom ``include`` tag to include predefined markdown templates so we don't have to type the same thing over and over again. Also includes fencing to display warnings or hints.