Configure auto test to always run all tests.

I like to use autotest while testing, but it does a bad job of guessing
which tests are associated with which files in this project, so I'm
just having it re-run every test on every change. Fortunately the test
suite is fantastically quick, so that's not a big hardship.
Replaced @strict_parsing flag with strategy class.

Extracted the check_for_errors_before_parsing method into two new
classes, StrictErrorChecker and LaxErrorChecker (which is very lax
indeed).
Starting to extract an SgfStream class.
Made SgfStream constructor handle initialization.

Stuff that was in streamably_stringify moved to SgfStream.initalize.
The clean method also moved to SgfStream, since that was the only thing
that needed it.
Moved next_character method to SgfStream.
Moved stil_inside_node? to SgfStream

It brought NEW_NODE, BRANCHING, and NODE_DELIMITERS constants with it.
Removed delegate still_inside_node? from Parser.
Moved still_inside_multi_property? to SgfStream.
Deleting the unused clean method from Parser.

I'd moved this method to SgfStream ages ago, but failed to delete the
original.
Added some notes to help me while refactoring.
Removed the unnecessary @root field.

There was no reason this needed to be a field on the Parser class.
Removed @root from documentation.
Strategery about future refactoring.

Basically just committing this as a note about what I'm about to do,
for the reference of future readers.
Moved two still_inside methods back to Parser.

The parse_ and still_inside_ method pairs seem like they all want to go
to new classes of some sort, so let's get them all in the same place
first. This required exposing a bit more stage from SgfStream, but so
be it for now.
Extracted method to decrement SgfStream position.

This makes the decrementing of stream.pos at least a little more Tell
Don't Ask.
Extracting a peek method that seems reusable.

Two of the still_inside methods are scanning the stream for the next
non-whitespace character, then rewinding. That seems like it should be
shared code.
Use peek_at_next_non_whitespace in still_inside_node

But apparently you have to check that the character is actually there
or else include? will fail. That doesn't seem so hot!
Treat end of file as a node delimiter.

The representation of end-of-file is boolean false, and the end of the
file is also secretly a node delimiter.
Moved peek method back to SgfStream

The peek_at_next_non_whitespace method had originally looked like it
belonged on SgfStream, and it still does. Now that it doesn't have any
of the still_inside business attached to it, we can move it back.
Also renamed it to peek_skipping_whitespace, since that seems more
concise and expressive.
Rearranged methods to express symmetry.

Put each still_inside_ method next to its corresponding parse_ method.
This also reveals that one parse method doesn't have a corresponding
still_inside.