[DEVEXP-346] Allow docker type build from a repo with additional directory

This is the initial part of the work behind adding the additional directory to docker builds, especially this commit covers restructuring the `BuildInput` object splitting the docker related and STI related stuff into sub-objects. 
Still to do: 
- [x] docs
- [x] build image
If I read that source correctly the part mentioned by @csrwng is always executed in our case, as we only replaced [this part](https://github.com/docker/docker/blob/master/api/client/commands.go#L117-L132), besides the [docs](https://docs.docker.com/reference/builder/#the-dockerignore-file) are clear here about `.dockerignore` usage, see the sample part especially. So we're not loosing here actually.