Restructuring of store and transaction packages

o.n.k.i.
  nioneo.store --> store.{record,id}
  transaction.xaframework --> transaction.{log,state,command}

And various other classes moved to a more logical place.
Merge pull request #3106 from tinwelint/2.2-remove-xa-packages

[2.2] Restructuring of store and transaction packages
Move PeriodCommitHint AST node out of Clauses

And rename Hint to UsingHint
For annotation, use ASTNode+Position over objId
Use SemanticState to track expandStar rewrites
Split ClosingClause

Into HorizonClause for scoping, and ProjectionClause for projection
Make expandStar match on clauses

Rather than on the ReturnItems
Introduce _PRAGMA WITH NONE

Used when all projections have been inlined
Introduce _PRAGMA WITHOUT

Used to remove identifiers from scope
Use _PRAGMA WITHOUT to remove introduced identifiers
Allow additional items on `WITH *` and `RETURN *`

e.g. `WITH *, 1 AS m`

Also use this in pre-semantic-check rewriting, to ensure
`ORDER BY` clauses on `WITH *` and `RETURN *` are correctly normalized,
removing the need to do this again during `projectFreshSortExpressions`.