Use stolen patch to fix bigdecimal segfault

## Problem

We are suffering from this bug: https://bugs.ruby-lang.org/issues/9657 which manifests as random segfaults in BigDecimal.

## Solution

This patch is https://gist.github.com/henrik/10880288 and was suggested in the bug's discussion thread, the gist of it is BigDecimal and the GC really really don't play nice to the point that bigdecimal has a bunch of macros to protect its data from the GC .... rubby :unamused: .

@csfrancis @dylanahsmith whacha guys think ?