Fix Array#sample when pass count argument
Add Array#sample randomness specs
Remove Array#sample specs with high failury probability
Decrease failure probability for Array#sample randomness spec
Mark self as on stack in transcoding handling
Move type checking up in transcoder logic

This ensures we don't create invalid C structures because parts have
been allocated while others have not. This would cause segfaults if
someone manages to get the encoding setup in an invalid state.
Add specs for rb_intern_str to C-API
Implement rb_intern_str in C-API
Remove unneccesary FFI definition
Add rb_int_positive_pow needed for latest Ruby parser
Make sure to mark self on stack since it's used for comparison
Revert back to using std::list

We current keep iterators in instance variables which are invalidated
for a deque, but not for a list. This brings back some of the
performance issues in specific cases with using std::list so we should
review this code to see if it can be done differently to perform
better.
Improve Kernel.#local_variables specs
Add a Kernel.#local_variables spec for eval
Fix Kernel.#local_variables for eval
Standardize a spelling on some specs

s/accessable/accessible/
Port File.realpath specs to File.realdirpath with adapted
Fix File.realdirpath

File.realdirpath is a similar method of File.realpath without exceptions.
It returns a fullpath of the argument. Not for dirname.
Implement Kernel#__dir__
Untag passing Kernel#__dir__ specs