refactor local providers for parameterized constructors/chaining

Here is the adjustment to the constructors that I mentioned.  Because they were declared/assigned inline, there was no good way to pass different paths into the providers without having the base class do the directory existence/creation check autonomously on the ~/App_Data path(s)  --or-- to avoid that, it would mean duplicating that block of code per-constructor that would have to be implemented to accept the new params.