Comments here and there. More to come
Header layout changes mostly

Moved static expression construction functions out of the expression
class to make them "using"-able. This wasn't possible before as they
resided within a class, meaning that without inheriting from that class,
and calling the functions from within said derived class, you had to
explicitly state the class name scope before every call, which is
tedious.

Commented a few more functions