**Use case**
Some program left garbage in terminal.

**Describe the solution you'd like**
Subset of what `reset` command does.
int mainImpl()
    
        UseSSL use_ssl;
        registerFormats();
        registerFunctions();
        registerAggregateFunctions();
        /// Batch mode is enabled if one of the following is true:
        /// - -e (--query) command line option is present.
        ///   The value of the option is used as the text of query (or of multiple queries).
        ///   If stdin is not a terminal, INSERT data for the first query is read from it.
        /// - stdin is not a terminal. In this case queries are read from it.
        /// - -qf (--queries-file) command line option is present.
        ///   The value of the option is used as file with query (or of multiple queries) to execute.
        if (!stdin_is_a_tty || config().has("query") || !queries_files.empty())
            is_interactive = false;
        if (config().has("query") && !queries_files.empty())
        
            throw Exception("Specify either `query` or `queries-file` option", ErrorCodes::BAD_ARGUMENTS);
        }
        std::cout << std::fixed << std::setprecision(3);
        std::ced::fixed << std::setprecision(3);
        if (is_interactive)
            showClientVersion();
        is_default_format = !config().has("vertical") && !config().has("format");
        if (config().has("vertical"))
            format = config().getString("format", "Vertical");
        else
            format = config().getString("format", is_interactive ? "PrettyCompact" : "TabSeparated");
        format_max_block_size = config().getInt("format_max_block_size", context.getSettingsRef().max_block_size);
        insert_format = "Values";