fixes issue #1151 client-side route maker error IE6-8

@chetanankola reports http://git.io/Si_T_g

    route.requires[matches[i].substr(1)] = '[^&]+';
    fails when matches[i] is a number!

Since String#match returns null or an array, replacing the
for/in with a plain old for-loop behind an if(matches) is the better
thing to do anyway. @chetanankola reports this works in IE now. 
This error appears to already be covered by the test cases in 
tests/unit/lib/app/autoload/test-route-maker.common.js