behave more like the native docker client when trying to run a container with a missing local base image - pull only when necessary.

closes #8
allow tag to force overwriting an existing label, update test cases to match the current api 1.16