Add native node field to the Node class

The native node field (a plain Object) is available for the
AST converters to keep a reference to the original AST node
corresponding to the Lombok node. This node can then be used
later to do type resolution (using a type helper, specific to
each AST, which casts the native nodes back and performs
AST specific logi).

It can also be used to lazily compute positions. This is useful
for lint, where a lot of node information is unused. In order
to make this work without an external helper, it also stashes
a reference to a PositionFactory, supplied by the AST
transformer, which lazily creates Position objects on the fly.