Replace CommandDecoder base class for function pointer
Replace CommandDecoder base class for function pointer

Because the base class forces us to create runtime instances of derived
classes, while the function pointer doesn't and simplifies our command
decoding map's type as a result.

meshell/cucumber-cpp,paoloambrosio/cucumber-cpp,konserw/cucumber-cpp,cucumber/cucumber-cpp,konserw/cucumber-cpp,meshell/cucumber-cpp,cucumber/cucumber-cpp,muggenhor/cucumber-cpp,meshell/cucumber-cpp,cucumber/cucumber-cpp,paoloambrosio/cucumber-cpp,paoloambrosio/cucumber-cpp,muggenhor/cucumber-cpp,konserw/cucumber-cpp,AbletonAppDev/cucumber-cpp,AbletonAppDev/cucumber-cpp,AbletonAppDev/cucumber-cpp,muggenhor/cucumber-cpp