Ember.AutoLocation support

After being MIA for a while, I finally have some time to get back into this PR. Since the last one was blown out, starting here anew. The original PR is here https://github.com/emberjs/ember.js/pull/2685.

- [x] Initial implementation
- [x] Consensus on halting Router setup 
- [x] FEATURE flagged
- [ ] Unit tests - 1. how do we reliably test this since we can't actually redirect the test host environment? Mock the window.location object to override .replace()? 2. The only current Location class testing is in `/ember/tests/routing/basic_testing.js`, but it's only testing HistoryLocation and not much coverage. I think a separate PR is needed to add coverage to all Location classes..Thoughts?

Some people would like to support the history API but auto fallback to hashchanges in older browsers. The current way they could do that is check for support themselves and dynamically set the location property when they reopen the Router, but this makes it easy for them to not need that boilerplate code and also will transform between the two URL forms for sharing compatibility.

With the AutoLocation class, users can now just use:

```javascript
App.Router.reopen({
  location: 'auto'
});
```

Let's discuss.

![image](https://f.cloud.github.com/assets/762949/1517912/91c75956-4b2b-11e3-87dc-8cd2b21f3b5a.png)