This fixes some warnings found with clang analyzer and also possible future warnings of for example GCC if they decide to start warning on this stuff.
This makes the static table not as clear as it was before, but the static initialization prevents a race condition here over the initialization over this structure. If we would want to keep the old algorithm, it would be needed to add an explicit pack initialization phase so we can solve this in a thread safe way. Since this is a much more invasive change, I opted for this solution.
rubinius/rubinius#1659 This makes sure also the comparison works correctly for large values of the type of value.
This reverts commit 6769e49.
explicitly cast utf8_limits to const int32_t
base64_decode must return an ASCII-8BIT String*