First draft IVar-Future-Promise-Probe unification

Not ready for merge. Opening discussion. Compatibility layer is totally missing for now.
:+1: 

I really like this new synchronized object. Being able to wait on a mutex is a great feature, and I always like it when we can optimize on JRuby.