InstanceFor always return a non null bean. #283

As discussed with @asouza in #283 

`canProvide` check if bean instance can provided by CDI container. And `instanceFor` now returns a bean instance or an exception if bean is not found, instead returning a bad `null` reference.