> (you don't have to strictly follow this form)

**Use case**

Support manually snapshot for Keeper.

**Describe the solution you'd like**

Throught 4lw commands, such as `csnp`.


: IFourLetterCommand(keeper_dispatcher_)
    {
    }
    String name() override { return "nopc"; }
    String run() override;
    ~NopCommand() override = default;
};
struct ConfCommand : public IFourLetterCommand
{
    explicit ConfCommand(KeeperDispatcher & keeper_dispatcher_)
        : IFourLetterCommand(keeper_dispatcher_)
    {
    }
    String name() override { return "conf"; }
    String run() override;
    ~ConfCommand() override = default;
};
struct ConsCommand : public IFourLetterCommand
{
    explicit ConsCommand(KeeperDispatcher & keeper_dispatcher_)
        : IFourLetterCommand(keeper_dispatcher_)
    {
    }
    String name() override { return "cons"; }
    String run() override;
    ~ConsCommand() override = default;
};
struct RestConnStatsCommand : public IFourLetterCommand
{
    explicit RestConnStatsCommand(KeeperDispatcher & keeper_dispatcher_)