Build web apps with patch files

Why we need this kind of step:
  Because for some web apps, we just submodule from external repo,
and our changes sometimes hard to be merged, so patch is needed.

Apply patch scenario:
1. Check whether it's a git submodule, otherwise, skip below scenario
2. Get sorted patch file list (Patches need to be orderly patched)
3. Check whether patch files under WebApp folder, if none, skip below scenario
4. Checkout the submodule to 'master' branch
5. Remove 'auto_patch' branch which was created during previous build
6. Create a new 'auto_patch' branch
7. Apply all the patches
8. Checkout to 'master' branch

'auto_patch' branch will be remained after build for further review.

This commit contains two commits currently, and will be rebased when #9 be merged.
BUG=#16