doc: rename 'nil' to 'unit' when describing `()`
auto merge of #12210 : zr40/rust/patch-1, r=cmr

According to kimundi on IRC, the current term for `()` is 'unit'. This commit updates tutorial.md to change 'nil' to 'unit' where `()` is described.
Refactored ast_map and friends, mainly to have Paths without storing them.