Mixed-precision CG: double-float-conversion program now in *static* string.

This is to prevent external linkage of the source string (header-only).
CMake: Restored README file from build/ folder in cmake/

A README file in the build/ folder will get deleted accidentally from time to time,
so it now resides in the cmake/ folder and gets copied to build/ for the release
tarballs.
Visual Studio: Fixed primary compilation problem after full migration to generator.

Passing 'int', 'char', etc. to the OpenCL kernel class directly is not supported,
as OpenCL only guarantees that 'cl_int', 'cl_char', etc. are binary-compatible.
The fix to this is to use viennacl::result_of::cl_type<T>::type
Generator : Added option to have custom kernel prefix for the generated kernels.

Useful when the representation's length becomes too big
Warnings Fix: Fixed core's -Wconversion warnings
Warnings Fix : Fixed C4503 warning.

Hopefully.
Warnings Fix : Fixed more conversion warnings

There remains some implicit conversions in libviennacl. Not sure how to fix them.
Generator : Fixed some ridiculous mistakes

Made all the OpenCL tests segfault on ViennaStar. I apologize, I'm tired!
Generator : Fixed compilation errors on the GEMV (Row-wise reduction) template
OCL: Added accessor for ocl::program::p_context_
Generator : No longer using ocl::current_context()
Merge branch 'master' of github.com:viennacl/viennacl-dev