ENYO-3519: fix enyo.ModelController init of model property

enyo.ModelController.modelChanged() wasn't handling the case
where prev and model parameters were both undefined which happens
during the notifyObservers() call in enyo.ModelController.create().
Fix by making sure notifyObservers always includes those values
and optimize away that call if it's constructed with null model.

Also, fix separate potential bug in UiComponent where similar
code existed. It wasn't an issue with the current controllerChanged
method, but if it was changed in the future, it could have the same
issue.

Added test case to ControllerTest showing original bug, verified
that it failed before and passes now.

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Merge pull request #537 from enyojs/ENYO-3519-unwiredben

ENYO-3519: fix enyo.ModelController init of model property

Tested manually.

Reviewed-By: Cole Davis (cole.davis@lge.com)
ENYO-3250: fix file-URL xhr code for webOS 3

enyo.xhr.request was running file URLs through simplification logic
that triggered a weird behavior on webOS 3 -- window.location.host isn't
set to "" like on other file-protocol using setups, but instead
maps to a app-specific string. Unfortunately, the URL lookup didn't
actually allow using that host name to load files.

Enyo-DCO-1.1-Signed-Off-By: Ben Combee (ben.combee@lge.com)
Fix Datarepeater not rendering on collection changes

The deprecation of controller makes some bindings break for the collection property. This fixes it
Merge pull request #539 from rafabernad/patch-2

Fix Datarepeater not rendering on collection changes

Reviewed-By: Ben Combee (ben.combee@lge.com)
Merge pull request #538 from enyojs/ENYO-3520-unwiredben

ENYO-3250: fix file-URL xhr code for webOS 3