Fix Atomic MACROs

It is necessary to not consider 64bit architecture as X86.
Add examples for creating a Proc using the block from an enclosing method.
Add fails tag for Kernel#proc RubySpec.
Merge pull request #3203 from jimmycuadra/spec-proc-new-without-block

RubySpec for creating a Proc using the block from an enclosing method
Fix typo

From mininum to minimum.
Merge pull request #3209 from gustavotemple/fix-typo

Fix typo
Less racy specs for Process.exit!

There would a small chance where the sleep(1) call would complete _before_ the
Thread.new { ... } block finished running. After all, there's no guarantee a
thread starts right away.

By removing the sleep(1) and adding a Thread#join call we can ensure that the
Process.exit!(2) is _only_ called when the @object.exit!(1) call doesn't
immediately terminate the process.

At least I hope, you never know for certain when it comes to multi-threading.
Merge pull request #3194 from gustavotemple/fix-vm-atomic-macros

Fix Atomic MACROs
Added new Marshal.load specs for objects with user-defined _dumps

These specs were added after rbx's Marshal broke in an app that had
defined its own _dump and _load methods upon an object -- see
UserDefinedImmediate in marshal/fixtures/marshal_data.rb.
Fix Marshal for objects whose _dump returns an immediate.

specs and context behind this change: 77f88aeb