add advanced_settings button to campaign_selection

functionality to be implemented in tcampaign_selection::show_settings().
fix era carryover for sp

firstly, state_.mp_settings() wasn't being written to config for sp (and therefore wasn't being restored in level_to_gamestate()).
also, I've edit playcampaign.cpp so that sp uses the mp (IO_SERVER) code between scenarios (using connect_engine).
I've disabled the mp_connect screen between sp scenarios for now, but it may be useful to add it as an advanced option later.
experimental implementation of sp advanced settings dialog

Era and mod selection is functional, as well as options to enable mp_configure and mp_create dialogs.
There is still an issue of realoading config. If you load multiplayer, then exit, then load campaign, there is no config reload, so the multiplayer eras/mods stay in config and are selectable. However, since state.classification().campaign_type is not set to multiplayer, when config is reloaded for a specific campaign, multiplayer won't be defined and therefore the selected era may no longer be available. So, we need some way to handle this case better. Also, it may be desirable to add a button to advanced settings which would change the campaign_type to multiplayer and reload (if we actually did want to load some mp era). Another potential option for this dialog could be IO type (to make the game networked, etc).
fix reloading for sp campaign selection

added a config load before campaign select, unless previous load was for title screen. this way, there is a reload between multiplayer and sp (to make mp-specific eras/mods unavailable). also, it fixes mp_configure screen being left showing behind campaign select when configure is canceled, since there is now another load (from cache) there.
implement allow_era_choice wml for sp settings
disable allow_observers option for sp
fix getting value of checkboxes in sp settings
add "show_configure" and "show_connect" wml

in [campaign] tag. these can be set to a boolean (locked value) or "user" (user selectable)
remove hybrid campaigns from sp campaign list (mp)

now hybrid campaigns are only included in "campaign" list in mp create.
they are still added to the list of sp campaigns when in sp (since sp campaign select uses that list)
add era/mod define support to sp

I had previously forgotten to include this line.
remove IO_NONE in playcampaign.cpp
fix unit test for campaign_selection
add unit test for campaign_settings dlg
update changelog
update project files for campaign_settings
scons: use full condition evaluation when checking dependencies
scons: make SDL availability flags functions that evaluate lazily on demand

This moves messages about optional SDL libs checks below
potential warning about missing base dependencies and
makes SCons check GCC compiler before SDL.
scons: show OK status when base prerequisites are met
scons: find bzip2 statically compiled into Boost (windows)
add wiki entry for campaign_settings