Started AUTO-561, validating launch config

Started the implementation. Tests still remaining.
added validate_launch_config tests
Tests for validate_image added

Implemented mock_treq that mocks treq with given arguments
moved from json_schema/ to worker/
Adjusted validate tests after moving to worker

- Modified supervisor and rest/* for worker change
- Yet to add tests for supervisor changes
Works with REST APIs

Tested create group and edit launch config. Works with valid and invalid data
patch supervisor calls in unitgration tests
launch_server type check
path fix after worker move
Adding review comment and empty tests for supervisor
completed tests for supervisor and validate_config.py
seperate exception for invalid launch config

- also implemented @cyli suggestion of giving all errors
- lint fixes
better way to patch supervisor
updated tests for test/rest/*
'server' json schema validation

Added json schema to validate subset of 'server' that is being checked in code
Merge branch 'master' into auto-561-image-validation

Conflicts:
	otter/rest/configs.py
	otter/rest/groups.py
	otter/test/unitgration/test_rest_cass_model.py
	otter/test/unitgration/test_rest_mock_model.py

These conflicts occurred due to klein splitting PR
Fixes after incorrectly resolving merge conflicts
lint fix
s/propogate/propagate/
@bramwelt review changes