[MS.Build] fix default build targets to not return empty list in Project.

And since the code is almost the same as existing ProjectInstance one, just
make it identical. (Should be unified, but depends on members, hence TODO.)
[MS.Build] fix some TaskFactory related bugs uncovered by CodeTaskFactory impl.

- ITaskFactory could return null, so check the return value.
- UsingTask descendants could have property references, so use ExpandString.
- TaskBody was not appropriately passed to internal structure.
[msbuild] implement CodeTaskFactory i.e. inline tasks.