Add new |region| function which can be used in actions and returns object:
`{ begin: <beginPos>, end: <endPos>}`, where <beginPos> and <endPos> are:
`{offset: <offset>, line: <line>, column: <column>}`
for begin of match rule and end of match rule accordingly.

Also, if call |region(true)|, also will be present field |text| with input part of match (similarly |text()| function).

Add new function invocation to all AST nodes (as |region: region()|), so compiler passes may forming more informative error messages.

Conflicts:

	src/parser.pegjs

Conflicts:

	src/parser.pegjs
Regenerate parser and upgrade testcases to new feature.
As side effect, small bug fix: instead of |simple not| |simple and| was checked in |report-...| specs.

Conflicts:

	lib/parser.js
Rebase to current master.
Merge branch 'master' into more-AST-info

Conflicts:
	lib/compiler/passes/report-left-recursion.js
	lib/compiler/passes/report-missing-rules.js
	lib/grammar-error.js
	lib/parser.js
	spec/compiler/passes/report-left-recursion.spec.js
	spec/compiler/passes/report-missing-rules.spec.js
Merge branch 'more-AST-info' into trunk

Conflicts:
	lib/compiler/passes/report-left-recursion.js
	lib/compiler/passes/report-missing-rules.js
	lib/grammar-error.js
	lib/parser.js