Implement new static analysis tools and infrastructure for expression trees under the Analysis namespace.
Implement type inference in the analysis context from values in the variable table from the evaluation context
Add more tests for expression analyser
Add test for instanceof operator expression analysis
Add tests for comparison operator expression analysis
Add missing ** binary operator in Analysis\PhpTypeSystem
Add tests for and fix assignment operator to binary operator conversion in expression analyser
Remove duplicate type data from Analysis\TypeData\InternalTypes
Fix formatting in Analysis\TypeData\InternalFunctions
Fix formatting in Analysis\IExpressionAnalyser
Extract interface from Analysis\TypeData\TypeDataModule
Make Analysis\TypeData\TypeDataModule non abstract
Added Countable interface to Analysis\TypeData\InternalTypes type data module
Fix variable name in Analysis\TypeId::getComposedTypeIds and add composite types test
Renamed Analysis\TypeId::getClassType to getClassTypeFromId and Analysis\TypeId::getComposedTypeIds to getComposedTypeIdsFromId
Extract method to generate PINQ API type data in Analysis\TypeData\PinqAPI
Add more informative exception messages for unknown type operations
Fix docblocks in Analysis\PhpTypeSystem
Allow instance calls to static methods and add tests
Implement methods to add type data modules to Analysis\PhpTypeSystem with tests