Better support for dynamic files object; add debug options

Better support for [dynamic files object](http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically).

Will not flatten the path always.

Made it possible to customize the regex and output something like

```html
<!-- File: xxx/xxx/a.html -->

contents goes here...

<!-- EOF: xxx/xxx/a.html -->
```

for debug.