Initial commit to add default .gitIgnore and .gitAttribute files.
Add CommandParseResults and IMatcher interface.
Add Parser interface.
Add NotFoundException template.
Introduce ICommand and move some classes to different locations.
Replace Get-methods with appropriate const fields.
Remove CommandParameter - use std::map in CommandParseResults instead.
Fix const modifiers.
Intorduce ICommandExecutor interface.
ICommand stores matcher internally.
Use shared_ptr in ICommandExecutor.
Add missing virtual destructors.
Add Messaging interfaces.
Add IProtocol interface.
Add IPlugin interface that defines the bridge between plugins and the application.
Add PluginManager.
Add logging submodule.
Add format-enabled methods in logger.
Introduce UserMessage type.
Move some classes to separate files. Add ExecutionContext.