[COOK-4723] Package resource enhancements

What generates these exceptions that we rescue? It appears to me that if we don't find a package in installed_packages.select, then we're going to raise NoMethodError when we call matching_package[1][:name], matching_package[1] returns nil.

Let's not rely on exceptions for that kind of behavior. Before calling @current_resource.package_name you can check to see we got not results with something like.

```
if matching_package.empty?
  Chef::Log.debug("#{@new_resource.package_name} not installed"
else
  @current_resource.package_name(matching_package[1][:name])
  matching_package[1][:version]
end
```