matrix_range: Fixed incorrect copy() back to CPU.

Due to an incorrect computation of the row length, insufficient values
were copied back (not considering matrix padding correctly).
Fixed #81.

Reported-by: karelp (viennacl-dev at GitHub)
Merge pull request #83 from tsmithe/master

Change assert to exception in get_queue
Core : Split up {matrix, vector}_base's definition in {matrix_vector}_def.hpp and {matrix_vector}.hpp

*_def.hpp contains the declaration of the operators and the definition of the accessors. Useful to avoid circular dependencies
Generator : Refurbished version. Full integration with vector_operations.hpp, partial integration with matrix_operations.hpp (exluding GEMV, GEMM, FFT, LU)

- Several additional operators supported (argmax, argmin, diag, row, column, ...)
- More stability
- Auto-tuning shortcuts removed (there is an ongoing python project to perform smarter auto-tuning)
- Significant performance improvement on GEMM (matches CuBlas and clAmdBlas)
Fixed errors/warnings on Clang
Clang 3.0: Fixed warnings due to mismatch of struct/class in declaration and definition.
Add some moredebugging output