Forced nodes to return vector output

- fixes #304
Added test for scalar node output

- Based on the example in issue #304
Added two new decoder optimization routines.

- they may be faster in some circumstances
Renamed pytest `benchmark` option to `benchmarks`
Added heuristic to choose the number of eval points.

- fixes #290
Added tests for new optimization routines.
Added benchmarks for number of eval points
Added check for empty activities matrix