Changes operations.cl to work with transposes.

The rest of the library is not adapted yet, so the transposes only
work when the values of m, k and n match.
Works when m!=k, but it's still broken as hell.
Fixes the branch. It should work now without MPI.
Commit for the sake of convenience. Still broken.
Works properly with transposed A without MPI.
Works properly with transposed matrices and MPI.

Many thanks to @josecriane for helping me understanding my code.
Merge branch 'blasify-transpose-broken' into blasify-transpose
Now works as expected with the lda parameter.

* LDA specifies the real size of the leading dimension of the array, so
you can have more memory reserved than used.
* If A is not transposed and k == lda, we only make one call per
device to write the buffer (because all the elements are adjacent),
expecting to save a little bit of time.
* lda, ldb and ldc are removed from the call to the OpenCL kernel.

Many thanks again to @josecriane for helping me a lot on this stage.
Fixes the order of operations in main.c

I don't even want to know how it was outputting correct results.
B can be transposed now.

It still doesn't make use of ldb.
A blind try to distribute B properly on MPI.
Works properly with ldb sequentially.

I can't test MPI right now.
Merge branch 'blasify-transpose' into blasify-transpose-broken
Works properly with ldc sequentially.

Also tested the beta parameter and works great, at least before
taking care of MPI.
Merge branch 'blasify-transpose' into blasify-transpose-broken
Corrects the broadcasting of B in both cases.
C gets scattered and gathered properly.