Pop from tagNames only at the right time

The scanner wrongly adds ```data-view-id='X'``` to a tag close ```</TAGNAME>```.

In EJS, for example, if you have:

``` ejs
<option>
  <ul>
    <% can.each(this.items, function(item) { %>
      <li <%= (el) -> el.data('item', item) %>>
        <%= item.title %>
      </li>
    <% }) %>
  </ul>
</option>
```

it gets wrongly rendered:

``` html
<option data-view-id='2'>
  <ul>
    
      <li  data-view-id='3'>
        One
      </li>
    
      <li  data-view-id='4'>
        Two
      </li>
    
  </ul data-view-id='5'>
</option data-view-id='6'>
```

It goes the same with Mustache. The bug can be seen in [this fiddle](http://jsfiddle.net/scorphus/QvhHA/ "Buggy"). And the fix is available in [this fiddle](http://jsfiddle.net/scorphus/QvhHA/1/ "Fixed").