This patch adds a feature mentioned in http://wiki.wesnoth.org/EasyCoding,
namely the first one in "Engine related features". To implement this feature, I added the command field in the configuration for the context menu.

This comes as an alternative to https://github.com/wesnoth/wesnoth/pull/246
Integrate create_engine into sp campaign selection

After campaign selection, the mp codepath is followed starting with
enter_configure_mode().
Code for sorting and marking completed campaigns, as well as for difficulty selection, has been moved to create_engine.
Also, [scenario] tags are now converted to [multiplayer] for sp as in mp.

Conflicts:
	src/game_controller.cpp
	src/multiplayer.cpp
Create a blank era for sp

Also, moved the "Custom" mp side to be loaded outside of the MULTIPLAYER define.
Prevent config reload in create_engine ctor for sp
Implemented multiplayer_configure_engine
Implemented gui-less mp_connect for sp

Also, made sides with blank controllers default to ai in sp.
Changed the way play_game is called for sp

Previously, in sp, play_game was called from both enter_connect_mode and goto_campaign (via launch_game). I've edited enter_connect_mode to return true instead of calling play_game, so launch_game is used instead. (This contains some code relevent to sp campaigns, but still uses the mp-codepath-modified saved_game (state_) object.)
Added hybrid campaigns to list of sp campaigns
Fix for campaign scenarios with no recruits

Also, fixed a bug where the proper scenario wasn't being loaded via commandline.
Move sp engine handlers to their own methods.

These methods are contained in their own header/source, singleplayer.*pp
Fix "random" leader being added to no_leader sides
Fixed gui2 test for modified tcampaign_selection
a leader can now be chosen for no_leader sides

To remedy the previous problem with these sides, the "random" leader will only be made available if there are other
leaders available.
revert changes to enter_configure_mode scope

These should probably just stay static.
Fix for earlier changes to flg_manager.

The order of leader options is now as it should be.
Adjust namespaces for mp and sp

moved engine code into "ng" namespace. Moved sp code into "sp" namespace.
Also, renamed some files to reflect the change.
remove additional reload for sp campaigns.
fix campaign_type for sp

Previously, mp_game_utils.cpp::level_to_gamestate was setting campaign_type to multiplayer; this has been fixed.
Also, fixed some game loading code to adjust to the change.
add doxygen comments for notifications functions
Merge pull request #242 from Rift-Walker/merge_sp_mp

Merge single- and multi-player codepaths