Jenkins 7543

An attempt at adding support for specifying tool locations. Seems to work ok.

This is my first github pull request...I've been trying to get my commit squashed but I end getting in a non-stop cycle of merge conflicts because of the recent refactor of Client/SwarmClient. I solve the conflict, squash, have to merge x times again, want to push but suddenly I'm behind on my own branch, pull again, get a new merge conflict and I'm back at the beginning. Each time a new commit is added instead of squashing the whole bunch. So any help with that would be appreciated...
Nice cleanup!