Added a few more test cases for C/C++ incremental compile
- Some of these tests cases are not yet passing
REVIEW-3914: Refactoring and improvements to native incremental compile
- Renamed Includes -> SourceIncludes, IncludesParser -> SourceIncludesParser
- Replaced SourceDependencyParser with SourceIncludesResolver
    - Does not wrap SourceIncludesParser, but simply resolves a SourceIncludes instance to a set of files
- For incremental compile, persists SourceIncludes for source file as well as results of resolving those includes
    - Detects changes in include path for compilation
Reduced cache overhead in native incremental compile

Switched native incremental compile to maintain previous compile state 
in a single cache entry, rather than a separate entry per file plus a 
single entry for the list.
This makes it easier to throw away all of the previous state, and reduces 
the reads/writes required.
REVIEW-3919: Added custom serialization for incremental compile state