Make Cargo rebuild when a peg_file! source file is modified.

Have the `peg_file!` macro register the file in the compiler’s codemap.
Cargo only looks at the modification date of files in this map
to decide whether to rebuild something.
Bootstrap: revert changes when second compile fails.
Add \U + 8 hex digit escape sequences.

Use case: match all non-ASCII characters with [\x80-\U0010FFFF].

The syntax is the same as in Rust.
Report the column number as well as line number in error messages.
Add an upper bound for repetition count. (But no syntax for it yet.)
Add e{n} e{,n} e{n,} and e{n,m} repetitions.

Fix #16
Accept blocks, not just expressions, as actions.

This enable using multiple statements in one action.
Merge pull request #15 from SimonSapin/register-dep

Make Cargo rebuild when a peg_file! source file is modified.
Merge pull request #14 from SimonSapin/blocks

Accept blocks, not just expressions, as actions.
Merge pull request #17 from SimonSapin/safe-bootstrap

Bootstrap: revert changes when second compile fails.
Merge pull request #18 from SimonSapin/8-digit-hex-escape

Add \U + 8 hex digit escape sequences.
Update grammar.rs for prettyprint output due to use of blocks
Merge PR#20 Add e{n} e{,n} e{n,} and e{n,m} repetitions.

Conflicts:
	examples/tests.rs
	src/grammar.rs
Merge pull request #19 from SimonSapin/column-number

Report the column number as well as line number in error messages.
Unify initializer and imports.

Previously, rust-peg files could have both an initializer (arbitrary
code in {} braces) and imports (use statements). The former was only
used by the `peg` command-line tool, while the latter was only used by
the `peg!` and `peg_file!` macros.

This removes initializers entirely, and makes the command-line tool use
imports. This is removing a feature since the initializer could contain
not only imports but also top-level functions and other items, but these
items are better defined in a .rs file and then imported into the
grammar anyway.