- Adding new 'Extract', 'Length', and 'Rotate2D' nodes

- Warn when graph requires stepping but the definition does not contain a SequenceLength parameter

Graph Manager
- Models are no longer unregistered when the last controller has been unregistered

Multiplexer Node
- Adding 'SelectionMethod' parameter. Similar to choice nodes, you can specify max or random selection.
- Fixing gradients such that the selector returns zero, similar to a stop gradient node. Inputs also return zero when random selection is specified.

Normalize Node
- Added 'AllowSmallLengths' parameter. If true, spans of length < 1 will be passed through unchanged. Defaults to false.

Concat Node
- Fix not being able to get this node from Unity

Normal Node
- Fix output never changing upon subsequent executions

Choice Node
- Fix output never changing upon subsequent executions when using random choice

Loss Training
- Perf improvement when training large datasets with gradient descent. To see the improvement, you need to call Train() with a value > 1. Smaller improvement training large datasets genetically.

Genetic Trainer
- NodesToMutate can now be set to 0.0 exactly to mutate all nodes in the graph.
- Adding method to copy out the average of the top results. This is a bit experimental, but can be useful when training a large population (100s) to smooth out the small differences in behavior between the top performers. Recommended to specify <= 1% of the population.

- Graph controller is not registered by default on character controller if model name is empty
- Fix occasional crash due to check in FStatsThreadState::AddToHistoryAndEmpty()

- Fixed issue with networked training harness causing genetic trainer to output bad filenames during training.