Added to test to determine the behavior of the BLAS and intialize the me...

...mory as needed to avoid unexpected NaN's.

This is a fix for issue gh-1569
Add this doc or something similar:
"""
If the user add himself some operation that generate nan, we want to keep that. But we don't want optmization to introduce nan.

Not all blas version have the same implementation of gemv. Sometimes, when beta is 0, they still do the multiplication. Other BLAS don't do that multiplication. This cause problem for not inplace gemv implementation.  When the multiplication is not done, we don't need to initialize the output memory (so some speed up). But when the multiplication is done, we MUST init the output memory, as otherwise, it can contain NaN and this optimization will introduce NaN in the output that wasn't in the original user graph.
"""