Separate dockerinit

This is laying the groundwork for dynamic docker with separate dockerinit (#2217).  I've cherry-picked the conflicting commits from both the "links" branch and the "dm" branch and reconciled them, along with my commit from #2217 to make everything use "dockerinit" with no hyphen consistently everywhere (to jive with `/.dockerinit`).