Replace list of require_once statements by an autoloader

Loading all classes at once on startup would fatal if there
were missing dependencies in one of those files. Loading
files dynamically when the classes they contain are needed
allows for displaying error messages if a dependency can not
be found.
Replace BaseScanner::add_error() definition with BaseCheck's, and add note about redundancy

BaseScanner's version was apparently worse maintained, and thus buggier;
for example, it wouldn't set a default empty value for 'file', which
would later cause problems when displaying errors.
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

If PHP parsing fails, display a blocker type error.
Write ScopeVisitor to add scope information to node.
For future use by analyzers and scanners, have AnalyzedPHPFile
expose its AST via get_node_tree().
Fail with an error message if PHP-Parser cannot be found on activation
Add note about PHP-Parser requirement to the readmes
Add InAssignmentVisitor to provide the 'in_var' attribute
Turn renderers into elements, and move files accordingly

Turn the renderers (except for the underlying AnalyzerRenderer) into 'elements',
which are given a Node (or subclass thereof; or filename, in case of
FileElement) object at construction time, and whose sole purpose is then to
make information available in a way that can be easily represented by
ElementRenderer.
Clean up PHPDoc strings
Handle method and static calls separately from regular function calls
Add MethodCodeElement
Rename PHPAnalyzer to CodeAnalyzer, and CustomResourceAnalyzer to ResourceAnalyzer

To align better with CodeElement, and ResourceElement. Also rename files.
Add HACKING.md containing a 'Glossary' and a 'Code Walkthrough'
Modify CodeAnalyzer and ResourceAnalyzer to directly operate on a node tree

To that end, an AnalyzerVisitor is used to create elements for relevant nodes
using two new factories, CodeElementFactory and ResourceElementFactory.
Remove AnalyzedPHPFileTest as it's obsolete

The interface ("code element hierarchy") it is testing is not used by VIP-scanner
anymore; instead, the node tree itself is traversed by analyzers.
Remove vip-scanner/class-token-parser.php as it's obsolete now