[WIP]build image on a separeted workspace, lock building image while another process running

This PR is related to the issue #52

NOTE: This PR has to be merged to master, after merging #82 because this feature depends on the feature implemented in #82 . 
@ainoya Is it possible that `:workspace_dir` is not given?