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.

Conflicts:
	src/game_controller.cpp
	src/multiplayer.cpp
[scenario] tags now convert to [multiplayer] in sp

Also, moved the "Custom" mp side to be loaded outside of the MULTIPLAYER define.
A blank placeholder era has been created for sp.
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