Abstracted Brain to IBrain

Initializer now probes for implementations of IBrain, and Robot
registers found implementations with ContainerBuilder. On
Robot.Configure(...), _brain is resolved by finding an implementer with
IBrain.Name == MMBOT_BRAIN_NAME, and falls back to single resolved
IBrain.