change stage1,stage2,stage2 into not(stage0)

With luck, this will allow rust to compile itself without --cfg flags again...
refactoring mod.rs
parser comments only
refactor parse_fn_decl
comments, helper function for tests, more informative error message
adding parse_path
simplify, based on invariant that items_allowed != foreign_items_allowed
remove unnecessary function
reindent in parser
get rid of prec.rs

prec.rs no longer had much to do with precedence; the token->binop
function fits better in token.rs, and the one-liner defining the
precedence of 'as' can go next to the other precedence stuff in
ast_util.rs
parser comments

parser comments
refactoring to split foreign_items from items
undo abstraction over whether to parse attrs in a block

In principle, it seems like a nice idea to abstract over the two
functions that parse blocks (one with inner attrs allowed, one not).
However, the existing one wound up making things more complex than
just having two separate functions, especially after the obsolete
syntax is (will be) removed.
remove unused RESTRICT_NO_CALL_EXPRS restriction
remove unused flag to parse_local fn
remove unused functions, fix tiny lexing bug

before this change, the parser would parse 14.a() as a method call, but
would parse 14.ø() as the floating-point number 14. followed by a function
call. This is because it was checking is_alpha, rather than ident_start,
and was therefore wrong with respect to unicode.
hard to read the implied double negative
fix for parsing x() as identifier pattern
needs_comma was always true
rename parse_class_item to parse_struct_decl_field

two problems with the old name: they're not called classes any more, and
the word "item" has a specific connotation in the parser