Tweak for terminal I/O.

Avoid over-zealous flushing.
Restore ability to read from stdio (i.e., stdin) with MRI 1.9

This was previously broken in MRI 1.9 because of a subtle change in the rules
for how block variables are handled. We were referencing a local variable inside
a nested block, and then redefining the variable in the outer scope (the
redefinition would happen before the block was invoked). In MRI 1.8, this
produces the expected behavior. In MRI 1.9, the redefinition of the variable is
propagated to the code block.

It didn't help that the unit test for reading from stdio was pretty lame; along
the way, improve the test, and refactor a bunch of the BudTerminal code.
Code cleanup for tc_rebl.
usage
Merge branch 'master' of https://github.com/bloom-lang/bud

merging update to budplot usage.
fix old regressions in viz utils due to metadata schema additions (bud_obj)
Add support for lattices to rebl.
Minor code cleanup for terminal.
Merge branch 'master' of github.com:bloom-lang/bud
the root cause of #293 is not localtick per se, but the fact that all channels have a shadow collection CHAN_src in the trace file.  this commit prevents budvis from drawing nodes for _snd collections
Merge branch 'master' of https://github.com/bloom-lang/bud

merge budvis commit
Rename last traces of "nm_funcs" => "unsafe_funcs".

Per previous commits (e.g., b5c412ac498f64e1adfb4ebb5f9f10ff347cfb5c), these
functions aren't really "non-monotonic".
Code cleanup for viz.
Fix spurious test failure with Ruby 1.9.2

Declaring an identifier named "y" is apparently problematic.
Add .travis.yml file for Travis CI.