update $fire method  

1，增强性能

将遍历domtree修改为对节点排序之后直接执行
```
Array.prototype.forEach.call(nodes, function(el) {
    if (el._avalon) {
        alls.push(el._avalon)
        el._avalon = ""
        el.removeAttribute("_avalon")
    }
}
```
2，增加阻止事件传播的方法

如：
```
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>事件的传播和终止</title>
</head>
<body>
<div ms-controller="ancestor">
    <div ms-controller="parent">
        <div ms-controller="son">son</div>
    </div>
</div>
<script src="../fekit_modules/avalon/src/avalon.js"></script>
<script>

    avalon.define("ancestor", function(vm) {
        vm.$watch("aaa", function(msg) {
            console.log(msg)
        })
    })
    avalon.define("parent", function(vm) {
        vm.$watch("aaa", function(msg) {
            console.log(msg)
            //在这里return false即可停止事件的传播
            return false
        })
    })
    var son = avalon.define("son", function(vm) {
    })
    avalon.ready(function() {
        son.$fire("up!aaa", "up")
    })
</script>
</body>
</html>
```