Reduced number of IDWTs to one per iteration in NLCG.
Merge branch 'master' of https://github.com/kvahed/codeare

Conflicts:
	src/modules/CompressedSensing.hpp
Added DWTTraits, DWT as template class.
Applied name conventions.
looking for pcgels_ in libscalapack-openmpi too!
* Started development oclMatrix.
* Included oclTest.
 * added kernel file test.cl
 * kernel implementation of elementwise addition
 * elementwise addition with own kernel
 * started work on elementwise subtraction with ViennaCl algorithm
 * added time own measurement in ocltest (compare Matrix<T> / oclMatrix<T>)
* added assignment operator for oclMatrix
* added state variables for oclDataObject
 * corrected assignment of matrices
 * "copy state" for oclDataObjects
 * Added ViennaCL functionality (subtract matrices)
 * operator= of oclMatrix: possibility to just copy GPU memory
 * tests (add (kernel), sub (VCL)) run successfully
 * corrected assignment operator in oclMatrix
 * operators +=, -=
 * verbosity printing
 * added class oclError
 * enhanced testing
 * all constructors for oclMatrix
 * started with asynchronous part
 * "pseudo" asynchronous execution (still waiting in destructor of temporary objects -> use move (&&))
 * elementwise access
 * friend operators
 * dimension related functions
 * started matrix product (vcl)
     -> not working correctly yet
 * Matrix-Matrix product finished (VCL) -> tests showed same performance as if just VCL was run!
 * double precision support (better accuracy with M-M-Prod)
 * traits for oclConnection and oclTraits (-> name must be changed! ;))
 * equality operators (oclMatrix)
 * bug: compiling double precision kernels
 * tests: always execute single and double precision