In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).
Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.
Fixes https://gitlab.com/kicad/code/kicad/issues/6733
Fixes https://gitlab.com/kicad/code/kicad/issues/6749
By making the caller use the "namespace" keyword, the formatter
is given the right indentation hints.
Also makes it clearer synatactically. One day, this will be a
namespace alias (needs GCC 7).
This adds a few tests on:
* LIB_PART
* SCH_PIN
* SCH_SHEET
* SCH_SHEET_PATH
These tests exercise some of the basic code paths in these classes
and show some of the expected behaviours.
None of these tests are particularly ground-breaking, but they
provide a starting point to build out further tests, and to ensure
the already-covered behaviour is stable.
It does expose some places where SCH_SHEET could probably use const.