Created UseDeclarationNode::create(), but without passing tests (yet).
Created hasAlias() and setAlias() methods for UseDeclarationNode.
Small doc fixes.
setAlias() will now remove the alias if passed NULL.
Merge pull request #143 from martinfrances107/master

Issue #142 Consistent use of methods on an interface (ExpressionNode).
Created ArrayLookupNode::hasScalarKeys() and ArrayLookupNode::extractKeys().
ArrayLookupNode::getKey() now expects an index for which key to return (defaults to 0). Added a getKeys() method to return an array of cloned key nodes.
NodeCollection now has an empty array as its default parameter.
Filter::isClass, Filter::isFunction, and Filter::isFunctionCall are now variadic.
Created Node::getStatement (no tests yet).
Created BooleanNotNode::fromExpression().
Added a test for Node::getStatement().
Added another assert to getStatement() test.
Wrote a test for BooleanNotNode::fromExpression().
Created a toArrayNode() method for CommaListNode. (#135)
Wrote tests of the variadic filters.
Created a catches() method for TryCatchNode. (#107)
Created ObjectMethodCallNode::getPreviousCall(). (#95)
ArgumentTrait::prependArgument and ArgumentTrait::appendArgument can now accept either a scalar or an ExpressionNode.
Created ArrayNode::getValues() and getKeys().