Move check for WP_User_Query to a class and file of its own

Moving it out of VIPRestrictedCommandsCheck is a preparatory step
for using PHP-Parser for checks, as all the other checks in
VIPRestrictedCommandsCheck are for function calls, not classes.
Add a test for VIPRestrictedClassesCheck
Merge pull request #217 from ockham/vip-restricted-commands-check-fixes

Refactor VIPRestrictedCommands checks & tests
Make BaseCheck::get_line() static so we can use it without needing a BaseCheck object
Add PHP-Parser submodule
Use PHP-Parser instead of our own one

To that end, write DirectoryNodeVisitor and ScopeVisitor to sort different
parsed elements by their type and scope path.
Use is[Private|Protected|Public]() to determine the visibility of classes and their members
Use isStatic() to determine if class members are static
Use isAbstract() to determine if classes and their member functions are abstract
Use the 'params' subnode to get a function's or class method's parameters
Use 'args' subnode to get a function call's arguments
Use the 'extends' subnode to determine the parent of a class
Use the 'comments' attribute to get a function's PHPDoc
Use 'startLine' instead of 'line' due to changed parser API
Change a line number in AnalyzedPHPFileTest

In a line-wrapped class member function definition, the new PHP parser
interpretes the first line (holding only 'private') as the relevant
startLine (not the following one containing function some_func() {} ).
The new parser also detects object variables when their members are invoked
Add InAssignmentVisitor to provide the 'in_var' attribute

Also, remove assert_object_property() as it's obsolete now.
Handle the 'new' operator
Handle special function calls
Update test to handle relative namespaces in correspondence with the new parser