XD-690: XInstance Deployment

This introduces an intermediate class between AbstractDeployer and (Stream|Tap)Deployer to factor out the boilerplate. 

JobDeployer could also benefit if
1. We introduced the equivalent of "Stream|TapInstance" but for jobs
2. We clarified the current exception handling in JobDeployer

Also cleans up error handling, as well as use better names where appropriate