Fix Applyupdate dirty node accumulation

1. By default, set the entrypoint of an execution session in the
codegen. If there are force exec ASTs and no deltas, set entrypoint to be the first forceexec AST
2. Code cleanup
3. Add testcase

This fixes forceexec working in tandem with applyupdate:
http://adsk-oss.myjetbrains.com/youtrack/issue/MAGN-3891

@lukechurch @ikeough 
This would make a good LINQ expression