Adding the transpose optimization to the search space. Summary of
changes:
1. DenseMatrixOpsImpl: The transpose tunable is expected to be the last
of the tunables as of now. The tunable number represents the level at
which the submatrix is to be transposed before multiplication. If the
number is zero, then no transpose code is emitted. Most of the
implementation details are quick and dirty. The transpose implementation
in 'MatMult.cpp' (coming up in next change) will provide a clearer idea
of the implementation's logic.

2. Tunable: Added a new parameter to the end of geneList, tunable and
depList. The range of values for the transpose parameter has equal
numbers in negative and non-negative. Each of the negative numbers
represents a general 'no transpose' case. Each of the non-negative
numbers (upto numLevels) represents the level at which transpose is to
be performed. The reason for this is to provide uniform probability of a
mutation contain/exclude transpose.