engine: rework line parsing get_variables(), use intermediate buffer for netlist creation.

Parsing now can handle trailing whitespace, netlist creation buffer allows for easier testing.
test: Split into multiple files, add engine tests.

The number of unittests requires it to split test.c - too much spagetticode.
Not sure though this is the best solution.