[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
@csrwng I'll change than to your proposal, frankly said I was thinking about doing that in the beginning but then I've decided to stick with the git solution. Although one notice, we'll go with default only when no dir nor the branch is specified, to be clear. I'll prepare update tomorrow, if you don't have any objections @smarterclayton.