Adjusted vector_tuple to return references rather than pointers.
Added multiple inner_prod() with same vector for CPU backend.
Fixed placement of barriers in sum kernels
Added CUDA version of multiple inner products.
Fixed uninitalized context ptr in scalar_vector when using OpenCL.
Added additional barriers in sum and inner product OpenCL kernels.

An additional barrier is now put after the reduction step.
It should not be needed, but some rare failures of the test suite have been observed.
Does not affect performance, because it's only one additional and fast local memory barrier only.
Added additional overloads for viennacl::tie() and viennacl::vector_tuple CTOR.

tie(): Up to five args
vector_tuple::vector_tuple(): Up to four args
Fixed minor errors in CUDA implementation of multiple inner products
Fixed wrong use of vector_tuple and result assignment for multiple inner products on host
Fixed wrong handling of a single inner product inside multiple inner products for OpenCL
Added front-end and tests for multiple inner products. Implementation now complete.