Removed doc comment because rustdoc is stupid.
Created ScanCursor trait to simplify scanners.

Instead of needing to parameterise on everything Cursor does, a scanner
now only needs `'a` and `Cur: ScanCursor<'a>`.
Removed scanned_value business.

I'll just wait for UFCS.
Added gen for alts and reps.

Lots of changes.  Too lazy to split them up.
Fixed type_limits warning and matching vecs of vecs.
Fixed captures inside repetition separator patterns.
Added scan! macro.

Also fixed `_` fallback parsing *and* made type inference work better.
Fix to scan/Cargo.toml
Wrote up basic docs for scan.