require version 1.3 for building ninja itself

This catches the case where you use an older version on Ninja
to build a newer version of the Ninja code.
bootstrap.py always should work regardless.
fix truncate compile error in ninja_test on windows
Merge pull request #573 from sgraham/truncate-win

fix truncate compile error in ninja_test on windows
don't print output with extra newline
Merge pull request #574 from sgraham/no-extra-nl

don't print output with extra newline
Set stdout to binary mode in -t msvc.

Fixes issue #575.
structs not classes.

For some reason that I do not, ninja prefers:

struct Foo {
  Foo();

 private:
  void Blah();
};

Rather than

class Foo {
 public:
  Foo();

 private:
  void Blah();
};

This catches the last two usages of "class" in the code base.

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Merge pull request #577 from tfarina/structs

structs not classes.
Merge pull request #576 from nico/newlines

Set stdout to binary mode in -t msvc.