Cam 2392 b

rebased version for CAM-2392 and CAM-2443
`bean.getBeanClass()` returns the Type of the class *declaring* the Bean. If the bean is declared by a Producer method, the Bean Class is the Type of the producer class and not a Bean Type of the Bean we are looking for. (At least for later WELD implementations).

I propose: 

* For `public static <T> T lookup(Class<T> clazz, ...)` methods we pass the `clazz` argument to `beanManager.getReference(...)`.

* For  `public static <T> T lookup(String name, ...)` ie. lookup by name we use `Object.class`. This should work, since Object is always a bean type of a bean even if the set of bean types is restricted using `@Typed` annotation. I checked the Apache Deltaspike `BeanProvider` it also uses `Object.class` in case no requested type is provided. See here: https://github.com/apache/deltaspike/blob/master/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/provider/BeanProvider.java#L188