controllers: allow hotkey handlers to be defined separately

Instead of inheriting from hotkey::command_executor,
controller_base now returns a pointer to a command_executor.
With current implementations all controllers return this, but in
some cases it may be simpler to have a separate small class for
this.
Refactored CREATE_ADVISOR to reduce indent and avoid stderr errors from failed recalls
Merge branch 'master' of github.com:wesnoth/wesnoth