Add an option 'tmpDir' to specify where temporary build folders will be in

If I do a gulp.watch() on these files:
```
src.ts   = [
            '*.ts',   // NOTE: some files under current working directory.
            'models/**/*.ts',
            'controllers/**/*.ts'
            ];
```
Then I change a file located at the current working directory like 'app.ts', then the watch will be triggered twice. The first is triggered by 'app.ts', and the second one is by 'gulp-tsc-tmp-xxxx'. I don't know if this is a bug in gulp.watch() (the glob pattern '*.ts' should not include 'gulp-tsc-tmp-xxxx') or normal behavior, it looks complicated to fix.

So I go with a easy way and added an option `tmpDir` to re-locate 'gulp-tsc-tmp-xxxx' folders. May be helpful to someone else who has the same issue.