Refactor command conversion for code bloat

Remove the command class. Tokenization now occurs just before execution.

Don't use std::function for the callable objects. This removes the ability to
use lambdas and std::bind objects. We can add an overload in the future?