Add json_class support w/o JSON for most types
Use consts for class strings
mutate the incoming hash

I'd rather not, but this object should be local to the caller at this
point so it seems less bad than creating a bunch more objects
add fallback deserialization to hash for Resources
allow lookup of resources without symbol creation
switch from JSON.parse to JSONCompat
rdoc json compat methods
[CHEF-3863] improve error compat with old impl.
CHEF-3863: Return to not trusting the JSON gem at all

Within days of relaxing to a pessmistic constraint on patch release there was
a patch release with breaking changes. We'll have to go back to testing the
latest version by hand again.
11.4.0.rc.0
ensure writes are flushed in run lock IPC
set sync=true on IPC in run lock tests
fix race in test setup

the heart of the test is confirming that the last 2 messages are p1
releasing lock and then p2 acquiring it. The two messages confirm that
the test case is set up correctly.
remove setup message, it's a race either way
Merge branch 'more-runlock-fixes' into 11-stable
CHEF-1292 Lower json stack depth tests to 301

1001 was causing stack level too deep errors on 1.8.7. This is
still a huge stack depth and 1001 was arbitrary.
Release 11.4.0
OC-4739: OC-4748: Create powershell and batch providers in core Chef
OC-4739: OC-4748: Refactor tests to share examples across batch and powershell resource specs
Adding missing shared examples for execute, script, and windows scripts