Fixed typos in device_utils.hpp
Updated AMD profiles
Unlocked LHS Storage and RHS Storage in the autotuner...

Will result in a much longer autotuning procedure, but more likely to grab the best profile
Fixed a bug in host-based matrix-vector multiplications.

{start1, inc1} was interchanged with {start2, inc2}.
Issue only showed up with ranges and slices.
Test was apparently suffering from an overflow, hence the issue was uncaught.
Fixed test as well.
Unified operator<< for matrices.

Used separate overloads for matrix, matrix_range, matrix_slice.
Now a common implementation based on matrix_base is provided.
Scheduler: Added support for matrix-vector multiplications.

Also added an appropriate test case.
Generator: Bugfixed default vendor profiles and replaced raw pointers by shared_ptr
Scheduler: Added support for matrix-matrix products.

Dense BLAS is now mostly complete.
Generator : Improvement in the BLAS3 kernel template

Unrolled the loop to fetch to local memory. Minor improvement, removed useless barrier before final writes to result...
Scheduler: Now handling += and -= correctly for matrix-vector product.
Tests: Fixed check for failed file read in sparse-test
Scheduler: Added support for sparse matrices.

Since the only supported operation is matrix-vector products, this is the only operation supported so far.
Generator : Column-Major+no_trans now grabs the profile of Row-Major + trans
Scheduler: Added sparse matrix includes.

Otherwise some builds without sparse matrix include files break.
OpenCL: Matrix kernels now embedded in source tree (except element-wise kernels).

No more more dependency on auxiliary folder, making the repository more accessible to Windows users.
Merge remote-tracking branch 'upstream/master' into pyviennacl

Conflicts:
	tests/CMakeLists.txt
Implement scheduler operations for sparse matrices, improve elegance, and fix a few bugs