Supports OpsWorks

OpsWorks is AWS's solution for devops based on Chef.

Ref: http://docs.aws.amazon.com/opsworks/latest/userguide/attributes-json-opsworks-instance.html
In theory `provider`, if populated, should be the best possible way of matching a device. In light of that and with a mind to limiting the maximum possible API hits, I'd suggest something like this:

```rb
def device
  return unless ServerDensity::API.configured?
  query = if provider.empty?
    @new_resource.device || @new_resource.name
  else
    provider
  end
  @device ||= node.normal.serverdensity.metadata =
    ServerDensity::Device.find(query) ||
    ServerDensity::Device.create(metadata)
end
```