necessary fixes to get BAGEL compiled.

I assume that begin(T) and end(T) are not implemented in a general enough way
bug fix. gemm_impl was using template<typename Array> rank(Array&) for derived classes.

not sure about array_traits, so I just used "not is_tensor<Array>". Could be improved, I guess.
CblasConjTrans was giving wrong numbers silently. It now throws until someone implements 5 more cases.
accommodating Ed's comments. Toggle to zgemm3m when MKL is present included.
Merge pull request #22 from shiozaki/master

necessary fixes needed to compile BAGEL.