Write tests for AffineTransformedDoubleObjective, move some utility methods to a Matrix class, and add the ability to customize the out-of-bounds fitness value on BoundedDoubleObjective.