[BUGFIX beta] - assert array gets returned from model hook

Adds an assert at the route level to warn application authors if they
setup up an ArrayController with a non-array.

Also implemented wrapping of the content at the route and ArrayProxy
level due to `intermediateTransitionTo` skipping the `setup`
function in routes when transitioning from error/loading to
another route.

fixes #3869