Make track circuits a property of generictrack instead of trackseg.
This is so that zero-length items like routingmarkers can have a track
circuit, mainly for display purposes.
Add a simple test for track circuit name deserialisation.
Add track circuits to non tracksegs in some other tests.
Remove generictrack AddSpeedRestriction and SetTrackCircuit, these were unused.
Make a note that generictrack SetLength and SetElevationDelta are test-code only.
Few misc style changes, removed some empty functions.