make multi-level depended projects inplace

The current implementation only support directly depended projects inplace (enlisting their outputs in WEB/classes, instead of having their jar in WEB/lib). This submit supports multi-level depended projects inplace also. For a project p with a directly depended project p1, if p1 depends on another project p2, then project p will have both p1 and p2 inplace for task appRun.