Replaced postfix operators with prefix operators in loops to avoid unnecessary temporaries
Prevent reassignment before previous values have been used
Pass vectors by reference to eliminate unnecessary copies
Initialize test vectors in initializer lists
Pass state to function object by reference, not by value, to eliminate unnecessary memory allocation stemming from Array copy constructor
Revert changes that break backward compatibility.

This reverts commit cdcc8c30f61d113dd2f2b608417b2a06c5ea9324.
Merge pull request #91.