Added BST-based dictionary in ruby

This is a partial implementation since the #delete method is missing,
but apart from that everything is working just fine
Fixed key contains check and added test case about it
Allow to change key/value of a BSTNode, so that deletion is much easier
Implemented node deletion in ruby's bst-backed dictionary
Use more idiomatic ruby in expression
Shrink the summary table a bit
Mark ruby BST-backed dictionaries implementation as complete