Make Docker::Run and Docker::Image resources come after docker is ready

Sprinkled throughout our code we have a lot of extra resource ordering that I believe the module should be responsible for.

This makes that so, ensuring that Run and Image resources are only attempted after Docker is setup.

Now I no longer have to do:
```puppet
Class['docker']->
docker::run { 'bla':
...
}
```

This is a bit tricky to test, because it is kinda an integration of a define and a class. I'm up for suggestions on how to test, but otherwise I think this is "ok" as is.