provision docker for test env
add tests
support --with-docker flag
refactoring
Merge branch 'feature/support-docker' into develop