Introduced abstraction layer for level in mp::create.

A struct were introduced to serve as a data for maps (stand-alone
scenarios) and campaigns.

The code was adapted to use such struct and relevant parts of the code
were moved, renamed or changed.

The code to handle campaigns is yet to be implemented.
Added singleplayer campaign support in multiplayer.

This is only an initial commit for singleplayer campaign support in
multiplayer. Further work is going to be made to fix known issues,
improve GUI and add some desirable features.
Always load "MULTIPLAYER" define if campaign_type is "multiplayer".