minor, provide a caching strdup'er for position symbols

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
hygiene, avoid code dupes

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
minor, use proper string interning for position symbols

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'tool/pf' into next

* tool/pf:
  minor, use proper string interning for position symbols
  hygiene, avoid code dupes
  minor, provide a caching strdup'er for position symbols
minor, construct trick contracts for arbitrary portfolio value updates

Signed-off-by: Sebastian Freundt <freundt@ga-group.nl>
Merge branch 'tool/pf' into next

* tool/pf:
  minor, construct trick contracts for arbitrary portfolio value updates
Merge branch 'next'

* next:
  minor, construct trick contracts for arbitrary portfolio value updates
  minor, use proper string interning for position symbols
  hygiene, avoid code dupes
  minor, provide a caching strdup'er for position symbols