Emacs mode: inherit from prog-mode

`prog-mode` ensures a final newline when saving files, which is useful
since ninja fails otherwise.

See `require-final-newline` and `mode-require-final-newline`.
Mention optional files in installation instructions
emacs: Remove an empty line, wrap a comment.
Merge pull request #856 from nico/TABS

emacs: Remove an empty line, wrap a comment.
add an "expand" function to ninja_syntax

Implements basic variable expansion for use in configure.py.
add a --bootstrap mode for configure.py

Instead of bootstrapping through a separate script, instead make
configure.py able to either generate a build.ninja *or* just execute
all the computed commands to build a ninja binary.
drop bootstrap.py

We now use configure.py --bootstrap.  Direct users of this script to
use the other one.
also test ninja_syntax.py in travis
Merge pull request #857 from martine/travis-python-test

also test ninja_syntax.py in travis
drop NINJA_BOOTSTRAP define
Merge pull request #854 from martine/bootstrap

add a --bootstrap mode for configure.py
switch travis to use new --bootstrap mode for building
Merge pull request #836 from nocnokneo/patch-1

Mention optional files in installation instructions
Merge pull request #813 from cdlm/emacs-mode-require-newline

Emacs mode: inherit from prog-mode
Merge pull request #858 from martine/travis-bootstrap

switch travis to use new --bootstrap mode for building
drop leftover references to bootstrap.py
merge platform_helper into configure script

With this code all in one place, it's easier to spot unused code and
simplification opportunities.
Merge pull request #859 from martine/platform-helper

merge platform_helper into configure script