Allow model.load to accept container.

This change adds container support to ``Ember.Model.load`` so that when loading models from say an adapter those models whether cached or not, will have their container is set correctly.

This PR also ensures that any cached record NEVER has its container modified or set to ``undefined`` if already set and protects against cases where a container is not passed to a create, find, fetch or load method.

PR includes test.