Remove all traces of rubyclass stack from the codebase.

* Removed klass arg from method calls.
* Remove the push/pop/get from thread-context and use sites.
* TODO: embed used to inject values into the current-module obtained
  from the rubyclass stack. That code needs investigation.
* Replaced the hacky if (klass==null) prepareSelf(binding) calls
  with information about actual execution context. The primary reason
  to use binding.self instead of self argument in blocks is when
  the block is being used in a binding-eval context. The same soln.
  is applicable in other contexts where this pattern was used (and
  currently marked with SSS FIXME annotations in code comments).