factored out getSuperType
introduced ElementException; don't process abstract Node classes; generate isLeafNode method
don't expect generated classes for abstract Node classes; add test to ensure identity tests are not performed on non-generated node classes
added factory method to all Node classes; replaced Node classes instantiation with calls to factory methods; replaced identity tests on Node classes with ' == <node class>.getGenClass()' idiom
Merge.
Reenable slider drag behavior
Try to pull out a base for Unsafe C heap references
Make handling of removeNeverExecutedCode more consistent
logObject and logPrimitive should be leaf
validateFormat should validate caller too
Consider the offset when performing read elimination on unsafes
graal.nfi: change source level to 1.7

--HG--
extra : rebase_source : 11c94e4e7fd7b5588fd321c24a9c5e45cdefbb77
use correct asXyzAddr methods in AMD64Arithmetic
switched to using new NodeFieldIterator and NodeFieldIterable for traversing Node inputs and successors
changed Node fields to be protected or package-private (they can no longer be private)
generate isLeafNode() and isOptionalInput()
Merge.