expr, error, differentiator: refactor Variable definitions.

Move the specific one (NamedVariable) into its usage site (error.cpp), rename
it to AugmentedVariable and inherit it from the base.
expr, error, differentiator: add a "do not substitute" flag to the variable structure.

Use it in the differentiator instead of an ad-hoc Visitor::Print::need_substitution() hack.
treewide: include <sstream> from util.h.
differentiator: CMake: rename libcalculator -> libexpression.
util: split off stream exception configuration functions.
differentiator: visitor-latex: make LaTeX::Document::Print() accept a pointer to value instead of bool "whhether to calculate".
differentiator: main: completely rewrite the calculator's CLI, unifying all functions.
expr, util: move some treewide-useful definitions into the latter.
stddev: rewrite CLI.