Merge pull request #17 from evaleev/master

Sync with evaleev/BTAS: can compile with g++ now
Merge pull request #18 from evaleev/master

sync with evaleev/BTAS ... NDIterator is gone, Tensor works as a tile in TiledArray
Merge pull request #19 from evaleev/master

sync with evaleev/BTAS: transition to Range-based design is complete
Merge pull request #20 from evaleev/master

sync with evaleev/BTAS: extracted compilable doc/examples/synopsis.C
Merge pull request #21 from evaleev/master

sync with evaleev/BTAS: varray is allocator-able class now.
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.
Merge pull request #6 from BTAS/master

sync with BTAS/BTAS after Toru's fixes for compiling BAGEL