fix($compile): ng-attr to support dash separated attribute names

When compiling:
```html
<div ng-attr-data-src="value"></div>
``` 
Currently Angular will output:
```html
<div datasrc="value"></div>
``` 
This pull request and tests propose that Angular should output:
```html
<div data-src="value"></div>
``` 
Please note that ahead of making my amends, there were 3 failing tests elsewhere in master, as per my comment on the mailing list at https://groups.google.com/d/msg/angular/54olurwDWJw/_b-6_G-hl74J.

Thank you.

Note: this is a new submission of #3798, fao: @petebacondarwin