Ember.Arrangable mixin (SortableMixin + FilterableMixin)

This PR take commits from https://github.com/emberjs/ember.js/pull/1288 and combines that with the existing `SortableMixin`. This makes it easier to use both at the same time. It also should be more performant in the combined use case because it does not have to loop over the `content` array twice to add observers. The existing api from `Ember.SortableMixin` is mirrored for filtering. You can specify `filterProperties` the same as `sortProperties`. 

There is one failing test ATM. The test is carried over from the `Ember.SortableMixin` and the other PR. I've added more tests around filtering and sorting the same array.

I've pushed this code to say that I'm serious about this feature. This is a major pain point of us. I can't see why there can't be one single mixin to do this.

The original implementation is from @crofty. I've simply pulled his commits and refactored them so they can be merged with `Ember.SortableMixin`.

Edit: I've realized that I completely suck at spelling and/or typing.