rework host stdout/stderr handling, main tests
add host_fake, tests for analyzer, misc. cleanup
add more tests for semantic errors
refactor analyzer to remove duplicated logic
more tests, fix a bug in ws_ parsing at the end of a line
add more unit tests for comon, simplify host
various updates for integration testing

- restructure tests in unit tests so they can be shared
- add integration_test.py
- tweak pylint
- restore dirname(), path_to_module() to host
- add write_tempfile_and_return_name() to host
More host updates:

- implement mkdtemp(), maybe_mkdir(), write(), getcwd()
- remove write_temporary_file_and_return_name()
Make remaining parser tests work as integration tests.
fix bug w/ not exiting properly after checking syntax
oops; fix typo
add optional end= arg to host.print*
mostly implement NINJA_STATUS support
import real parallelism, lint
bump version to 0.4
make python3.3-compatible
move stats into its own module
remove _FakeAsyncResult
rework error tracking, lint
clean up phony rule handling, stats for start/stop, use a closure for the call to be applied