Base the non-core version of ServletModelAccessor on the core version,
so there is only 1 static variable, and therefore one model instance
created per app.
Changed how the root directory is provided to the file modification
service, as this is a model concern, and shouldn't be guessed at by the
provider of the file modification service. This change causes the serve
command to have the same performance as the dashboard loading test,
which finally means the performance of the 'bundler-exploration' branch
is finally comparable to the 'master' and 'develop' branches for
subsequent loads, though more can be done to make it better for the
initial load too.