added viennacl support and redesigned linalg policy
added hard requirement for linalg backends cmake options
added explicitly set eigen3 backend dot unit-test