[#2092] Fix js in ie

IE fails parsing of javascript router because of reserved JS words in it.

see #2092

## old code
``` javascript
var jsRoutes = {}; (function(_root){
var _nS = function(c,f,b){var e=c.split(f||"."),g=b||_root,d,a;for(d=0,a=e.length;d<a;d++){g=g[e[d]]=g[e[d]]||{}}return g}
var _qS = function(items){var qs = ''; for(var i=0;i<items.length;i++) {if(items[i]) qs += (qs ? '&' : '') + items[i]}; return qs ? ('?' + qs) : ''}
var _s = function(p,s){return p+((s===true||(s&&s.secure))?'s':'')+'://'}
var _wA = function(r){return {ajax:function(c){c=c||{};c.url=r.url;c.type=r.method;return jQuery.ajax(c)}, method:r.method,type:r.method,url:r.url,absoluteURL: function(s){return _s('http',s)+'localhost:9000'+r.url},webSocketURL: function(s){return _s('ws',s)+'localhost:9000'+r.url}}}
_nS('controllers.Projects'); _root.controllers.Projects.add = 
      function() {
      return _wA({method:"POST", url:"/" + "projects"})
      }

_nS('controllers.Projects'); _root.controllers.Projects.delete = 
      function(project) {
      return _wA({method:"DELETE", url:"/" + "projects/" + (function(k,v) {return v})("project", project)})
      }

_nS('controllers.Projects'); _root.controllers.Projects.rename = 
      function(project) {
      return _wA({method:"PUT", url:"/" + "projects/" + (function(k,v) {return v})("project", project)})
      }

_nS('controllers.Projects'); _root.controllers.Projects.addGroup = 
      function() {
      return _wA({method:"POST", url:"/" + "projects/groups"})
      }

_nS('controllers.Projects'); _root.controllers.Projects.deleteGroup = 
      function(group) {
      return _wA({method:"DELETE", url:"/" + "projects/groups" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("group", group)])})
      }

_nS('controllers.Projects'); _root.controllers.Projects.renameGroup = 
      function(group) {
      return _wA({method:"PUT", url:"/" + "projects/groups" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("group", group)])})
      }

_nS('controllers.Projects'); _root.controllers.Projects.addUser = 
      function(project) {
      return _wA({method:"POST", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/team"})
      }

_nS('controllers.Projects'); _root.controllers.Projects.removeUser = 
      function(project) {
      return _wA({method:"DELETE", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/team"})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.addFolder = 
      function() {
      return _wA({method:"POST", url:"/" + "tasks/folder"})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.renameFolder = 
      function(project,folder) {
      return _wA({method:"PUT", url:"/" + "project/" + (function(k,v) {return v})("project", project) + "/tasks/folder" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("folder", folder)])})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.deleteFolder = 
      function(project,folder) {
      return _wA({method:"DELETE", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/tasks/folder" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("folder", folder)])})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.index = 
      function(project) {
      return _wA({method:"GET", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/tasks"})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.add = 
      function(project,folder) {
      return _wA({method:"POST", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/tasks" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("folder", folder)])})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.update = 
      function(task) {
      return _wA({method:"PUT", url:"/" + "tasks/" + (function(k,v) {return v})("task", task)})
      }

_nS('controllers.Tasks'); _root.controllers.Tasks.delete = 
      function(task) {
      return _wA({method:"DELETE", url:"/" + "tasks/" + (function(k,v) {return v})("task", task)})
      }

})(jsRoutes)
```

## New Code
``` javascript
var jsRoutes = {}; (function(_root){
var _nS = function(c,f,b){var e=c.split(f||"."),g=b||_root,d,a;for(d=0,a=e.length;d<a;d++){g=g[e[d]]=g[e[d]]||{}}return g}
var _qS = function(items){var qs = ''; for(var i=0;i<items.length;i++) {if(items[i]) qs += (qs ? '&' : '') + items[i]}; return qs ? ('?' + qs) : ''}
var _s = function(p,s){return p+((s===true||(s&&s.secure))?'s':'')+'://'}
var _wA = function(r){return {ajax:function(c){c=c||{};c.url=r.url;c.type=r.method;return jQuery.ajax(c)}, method:r.method,type:r.method,url:r.url,absoluteURL: function(s){return _s('http',s)+'localhost:9000'+r.url},webSocketURL: function(s){return _s('ws',s)+'localhost:9000'+r.url}}}
_nS('controllers.Projects'); _root.controllers.Projects.add = 
      function() {
      return _wA({method:"POST", url:"/" + "projects"})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects['delete'] = 
      function(project) {
      return _wA({method:"DELETE", url:"/" + "projects/" + (function(k,v) {return v})("project", project)})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects.rename = 
      function(project) {
      return _wA({method:"PUT", url:"/" + "projects/" + (function(k,v) {return v})("project", project)})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects.addGroup = 
      function() {
      return _wA({method:"POST", url:"/" + "projects/groups"})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects.deleteGroup = 
      function(group) {
      return _wA({method:"DELETE", url:"/" + "projects/groups" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("group", group)])})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects.renameGroup = 
      function(group) {
      return _wA({method:"PUT", url:"/" + "projects/groups" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("group", group)])})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects.addUser = 
      function(project) {
      return _wA({method:"POST", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/team"})
      }
   
_nS('controllers.Projects'); _root.controllers.Projects.removeUser = 
      function(project) {
      return _wA({method:"DELETE", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/team"})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks.addFolder = 
      function() {
      return _wA({method:"POST", url:"/" + "tasks/folder"})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks.renameFolder = 
      function(project,folder) {
      return _wA({method:"PUT", url:"/" + "project/" + (function(k,v) {return v})("project", project) + "/tasks/folder" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("folder", folder)])})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks.deleteFolder = 
      function(project,folder) {
      return _wA({method:"DELETE", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/tasks/folder" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("folder", folder)])})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks.index = 
      function(project) {
      return _wA({method:"GET", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/tasks"})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks.add = 
      function(project,folder) {
      return _wA({method:"POST", url:"/" + "projects/" + (function(k,v) {return v})("project", project) + "/tasks" + _qS([(function(k,v) {return encodeURIComponent(k)+'='+encodeURIComponent(v)})("folder", folder)])})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks.update = 
      function(task) {
      return _wA({method:"PUT", url:"/" + "tasks/" + (function(k,v) {return v})("task", task)})
      }
   
_nS('controllers.Tasks'); _root.controllers.Tasks['delete'] = 
      function(task) {
      return _wA({method:"DELETE", url:"/" + "tasks/" + (function(k,v) {return v})("task", task)})
      }
   
})(jsRoutes)
```

Notice the `[' ... ']` around the reserved words

After this change, ie7 doesn't complain anymore about javascript