Added missing #ifdef checkers to libviennacl test.

Previously required both OpenCL and CUDA to be enabled...
Removed tabs from parts of the scheduler implementation.

Remaining tabs will be purged with upcoming refactoring.
Generator : BLAS3 Tests now use rectangular matrices.
Generator : Reverted local-memory loop unrolling.

It seems like, while for some profiles it preserves correctness and leads to much higher performance. In the general case it leads to wrong results.
Add scipy test
Merge remote-tracking branch 'upstream/master' into pyviennacl
Added padding to multiples of 128 to vectors and matrices by default.

Query alignment via vector<T>::alignment and matrix<T>::alignment.
Updated autotuner to take vector<T>::alignment and matrix<T>::alignment
Generator : better expression descriptor
Generator : merged template_base and template_base::profile into profile_base.
Replaced builtin_database.hpp by profiles.hpp
Added default profiles.

Include cpu_value_type deductions for symbolic_matrix, symbolic_vector, both which will be renamed implicit_matrix and implicit_vector in a further commit
Generator : Restored autotuning procedures
Generator : Restored autotuning procedures
Generator : Integrated compute profiles

Only vendor-specific and device-type-specific profiles for now, but it is straightforward to add new profiles to the database in generator/profiles.hpp
Merge branch 'master' of https://github.com/viennacl/viennacl-dev
Merge branch 'master' of git://github.com/viennacl/viennacl-dev into pyviennacl
Generator : now duplicates all kernel for each device in the associated context
Fixed autotuner typos
Generator: Extended BLAS3 functionnality

Now the RHS of the operation can be any matrix expression including only one prod