AST::Ruby::Context now contains available width

In the future, it will be used to compute whether an array is too long
when placed on one line, etc.
Add |describe "basics"| blocks to #to_ruby spec

Most specs will test other aspects of #to_ruby soon, so let's separate
the basic testcases now en masse in order not to clutter later commits.
Make Node#indented decrease the available width
Y2R::AST::Ruby::Node: Pass correct available width
Y2R::AST::Ruby::Program: Add available width passing spec
Y2R::AST::Ruby::Statements: Add available width passing spec
Y2R::AST::Ruby::ConstAccess: Add available width passing spec
Y2R::AST::Ruby::Class: Pass correct available width to superclass
Y2R::AST::Ruby::If: Pass correct available width to condition
Y2R::AST::Ruby::Unless: Pass correct available width to condition
Y2R::AST::Ruby::Case: Pass correct available width to expression
Y2R::AST::Ruby::While: Pass correct available width to condition
Y2R::AST::Ruby::Until: Pass correct available width to condition
Y2R::AST::Ruby::Next: Pass correct available width to value
Y2R::AST::Ruby::Return: Pass correct available width to value