A scoping is a statement again.

The scoping statement should move the statement node to the correct location.
Use lists instead of vectors as you can modify whilst traversing.
ScopeParents now moves scoped statements to the correct location.
Cleaned the rules slightly.
MapIdentities is now an operation, not a re-structure.
Accidently removed the scope parent setting.