BUG: Update perf period state when positions are changed by splits

Otherwise, self._position_amounts will be out of sync with position.amount, etc.
That value is used to calculate pnl and returns, so test for them.
MAINT: Simplified event stream creation for tests