Changed field nodes to rely on SelfReadNode and specialized write node to avoid Types.asAbstractObject

The field nodes implemented basically SelfReadNode again, which isn't necessary, and by using Types.asAbstractObject rather complex code was on the fast path. This should always be avoided.

[TODO-REPORT: discuss this]

Signed-off-by: Stefan Marr <git@stefan-marr.de>