New length system
Rewrote length system to remove reliance on optimizer constraints that perform badly and makes it difficult to find legal optimizer configurations.
Now the length system use no constraints, but instead have some RelativeFreeInstrumentParameters that have dynamic limits that can depend on other parameters. The new length system is a lot more complete with an implementation that is easier to understand and maintain. The algorithm collects all limiting factors for each parameter and only uses the most restritive interval.
The length system has unit tests of a few simple guides and a few complex guides. Many random configurations are tested for the complex guides, and its ensured that no illegal configurations are observed.
Logging was improved and guide plotting was introduced. The visualisation system was refactored into several files. Import system was simplified, examples and documentation updated to reflect this.