Refactor

* add testcase, 100% test coverage
* support coffee
* add more map rules

```
## Rules

- /$ -> index.htm, index.html
- ^/dist/name/version/a.js -> /a.js
- ^/name/version/a.js -> /dist/name/version/a.js
- ^/name/version/a.js -> /spm_modules/name/version/a.js
- ^handlebars-runtime.js, ^/dist/cjs/handlebars.runtime.js -> hanelebars.runtime.js
- a.css.js^ -> a.css, a.tpl.js -> a.tpl, ...
- a.js^ -> a.coffee
- a.css^ -> a.less
- a.css^ -> a.scss, a.sass
- a.css^ -> a.styl
```