CmdR Refactoring

Changed the ICmdConsole so its Write & WriteLine methods take in param lists of objects not strings
Changed the CmdRState so it has a Variables section, allowing you to store data within CmdR which can be shared with other Commands

Introduced two new Interfaces ICmdRModule and ICmdRCommand
These are used to allow you to Auto Register commands with CmdR instead of manually register each command with CmdR before running it.

ICmdRModule allow you to register a single class which implements lots of commands. The CmdR class will be passed into the classes constructor allowing you to register your routes there.

ICmdRCommand allows you to register a single class which implements a single command. This interface specifies a small interface which will be used by CmdR to automatically register your route
Fixing a messed up branching and files going walkabout...