Add resource attribute, deprecate resource_name due to base class collision

The attribute `resource_name` was unintentionally used in `dsc_resource` to give the name of the underlying DSC resource. This attribute already exists in the base `Chef::Resource` class and usage of it in this context was probably causing strange behavior. It also made it hard to test.

A new attribute `resource` was added that replaces `resource_name`, and usage of `resource_name` to update the base class's state has been redirected to this class's own private state.
That enables the standard Chef DSL for specifying attribute values without an `=`:

```ruby
resource 'name' do
  my_attribute my_value # no '=' needed here
end
```