Increase config versatility

Three primary changes in this pull request (#3 is the primary change):

1) Use `files.*` references for destination keys in application config, rather than hardcoding them (duplicated from files.coffee)  (can be cherry picked as commit e35fdbc640b6cd5ff095d2631c79fbfb7730bfc1)
2) Use grunt's files array format for specifying src/dest mappings. Increases clarity for those unfamiliar with grunt's file specifications. Also allows referencing the 'dest' by key (using `<task>.<target>.dest`)
3) Extract the common patch components of the configuration to enable a single-point of configuration for directory structures. As it stands now, to use `script/` for js and coffee, in both app and vendor, one has to override *at least* 4 different strings.

Thoughts?