ArrayLookupNode::getRoot() and similar in ObjectPropertyNode

This method will return the root of an array lookup. So given an expression like $field['und'][0]['value'], getRoot() will return a VariableNode for $field.

I also added a method called getRootProperty() to ObjectPropertyNode, which does something similar. ObjectPropertyNode also got a method called getPropertyName(), which will get the name of the property if, and only if, it's a T_STRING TokenNode (returns NULL in all other cases).

Needless to say, tests are included for all this. :)
Maybe reword to Returns the root property. You think that is clearer?