engine: Minor tweaks
main: Fix compatibility with the engine package
protocol: Automatically upcase commands
engine: Put a basic Engine.Serve structure in place
engine: Implement Engine.Select and Engine.Require