tweak clean target to handle generated files properly by default
Initial pass at proper deps and depsfile support:

- modify the Node definition to properly distinguish the different
  types of deps (explicit, implicit, order_only, depsfile)
- update tsort(), find_nodes_to_build(), find_next_available_node()
  to use the right kinds of deps
- read and then delete the depsfiles while building (not while analyzing)
- write out the graph when it is updated with new deps from depsfiles.
- (also lint, clean up code)
more linting
make tests pass again
update README.md
add first attempt at rebuilding when command lines change
clean up analyzer
restructure code
bump to version 0.6

- All main functionality should be coded but some parts are
  probably broken. Needs lots more automated testing.
- split various files apart and rename things (ninja_parser -> parser,
  var_expander, tools, args)