Refactored IBrain to find single implementation

We're now doing the same thing as Router and finding a single
implementation of IBrain by name.

Because we're injecting IBrain later in the Robot initialization
process, Brain isn't available right after Robot.Create() anymore.
Robot.ConfigureBrain() must be called before accessing Brain.

ConsoleAdapter has been refactored to take this into consideration (it
was calling Robot.GetUser(), which hits Brain, in its ctor).