Usemin should handle <script defer>

Fixes #138.

This patch handle three cases, describe in tests.

As there is no access to `grunt.fail` in `htmlprocesser.js` nor a existing syntax to express error of a block, I decided the function should simply throw there, in the sprit of "fail early". It would be the most obvious way of failure.

I have read the [pull request guideline](https://github.com/yeoman/yeoman/blob/master/contributing.md#pull-request-guidelines) and submitted CLA, write and pass tests.