feat($compile): support multi-elements in all declaration styles

I've built on the work of #2783 to make multi-elements possible in all
directive decralation styles.
Basically #2783 was limited to directives declared via attributes.
With this commit, appending X-start and X-end would work
in Comments, Attributes, ClassNames and ElementNames
```html
<table>
  <!-- directive: ng-repeat-start item in list -->
    <tr>If ngRepeat's 'restrict' get changed to include 'M'</tr>
    <tr>I get repeated</tr>
  <!-- ng-repeat-end -->
</table>
```
test($compile): add tests for multi-elements in all declaration styles