fix: "Instance ... already exists" problem

Это позволит более правильно удалять/создавать инстансы - и уберет проблему получения ошибки "Instance ... already exists", если OpenStack не успел удалить машинку "прямо сейчас", а по каким-то причинам "задумался".

Reviewer: @uvizhe
@uvizhe, что думаешь? Мне не нравится ни так ни так :/, но что лучше, я не скажу

    def with_timeout(timeout=300):
        """Raises the timeout exception for decorated function after specific execution time."""
        def wrapper(func):
            @wraps(func)
            def decorator(*args, **kwargs):
                def _alarm_handler(signal, frame):
                    raise TimeoutError()

                # set timeout                                                                   
                signal.signal(signal.SIGALRM, _alarm_handler)
                ...