Adding checks for routes using regexes.

the routes still need to be prepared a bit due to express using a leading `/` and backbone
not using the leading slash.  So even with this, the routes file has some logic:

```javascript
//app/routes.js

//backbone style regex, no leading slash
var routes =
[
  ['', 'getHome', 'home#index'],
  [/^foo.*/, 'getFoo', 'foo#index'],
  [/^bar.*/, 'getBar', 'bar#index']
];

module.exports = function(match) {
  routes.forEach( function(el, i){
    pattern = el[0];
    if(el[0] instanceof RegExp) {
      if(this.isServer) {
        //add the leading / for express if the regex is looking at the start of the path
        pattern = new RegExp(routeArray[0].toString().slice(1,-1).replace(/^\^/, '^\\\/'));
      }
    }
    match(pattern, el[1], el[2]);
  });
};
```

This logic could be moved into the `shared/base/router.js` buildRoutes:captureRoutes method:

```javascript
//rendr/shared/base/router.js

  function captureRoutes() {
    var routeArray = _.toArray(arguments);

    if(routeArray[0] instanceof RegExp) {
      if(this.isServer) {
        //add the leading / for express if the regex is looking at the start of the path
        routeArray[0] = new RegExp(routeArray[0].toString().slice(1,-1).replace(/^\^/, '^\\\/'));
      }
    }
    routes.push(routeArray);
  }
```

but didn't want to suggest too much, plus this feels juuust a little weird. just wanted to
get regex routes to get though the flow.
Adding a test for regex routes

just verifies that the system will accept a regex route.
Made test helper for preparing client tests
    Prevent interceptions when the meta key or shift key is pressed.

    This allows users to command or shift click on a link and have it open in a new tab or window.
Merge pull request #149 from givingstage/command_click_links

Command click links
Moar tests for regexp-routes
Merge pull request #1 from airbnb/regexp-routes

Moar tests for regexp-routes
Merge pull request #147 from bigethan/regexp-routes

Adding checks for routes using regexes.
Fix JS exception in IE due to router inheritance

This should fix #121. In IE, there was a JS error thrown by the
`BaseRouter`'s constructor. It turns out it's just an issue with the way
the example app sets up prototypical inheritance -- IE doesn't support
setting `Router.prototype.__proto__ = BaseClientRouter.prototype`, so we
use `Object.create()` instead, which works in IE due to the polyfill
provided by `es5shim`/`es5sham`.
Merge pull request #152 from airbnb/fix-router-ie-error

Fix JS exception in IE due to router inheritance
Allow models to be fetched by other params than just the model's id attribute
Merge pull request #153 from givingstage/model_store_find

ModelStore.find