Session Sync.

Added new CommandResult api for command system.

Allows additional messages to be sent after execution. Used mainly for addition help but can be used for other stuff.

This system allows us to give help messages to failed commands. use return new CommandResult(this, false) to display help automatically.

Much much more edits included.