We now only force load the metadata if we don't already have it. `@metadata` is initialised as a `Hash` rather than a `nil` so we have to check the type to detect if it's loaded. Name check (rather than a raise) is here to avoid breaking cookbooks without an explicit name before the version bump to 11 (since this is targeted at 10-stable). Easy enough to swap it out on 11.