Moved AngelScript sources to extern subdirectory and added AS addons

External source code is now clearly marked as such and is separated from
the actual project source code.

.kdev_include_paths was modified so the angelscript headers are found
from within KDevelop.
Compile several AngelScript Add-Ons

Addons to be compiled are:
 * ScriptBuilder (#include, compile from memory)
 * ScriptStdString (duh)
 * ScriptMath (duh)
 * Debugger (duh)

For convenience, ${ANGELSCRIPT_INCLUDE_DIRS} contains all the neccessary
include paths for AngelScript.
Made CMakeLists more consistent

In the root CMakeLists.txt, unused declarations were deleted
and the declarations were cleaned up (regrouped, commented,
homogenized).

Link libraries were grouped in three variables for easier use
in test-builds and to see immediately the differences between
client and server application.
network::NetworkServer: Synchronization time period configured in network.h

The time between client state pushs (synchronizations) is
declared in network::SYNC_PERIOD now.
network::NetworkServer: Added single repeated callback

The application using NetworkServer can specify a callback that
is called periodically by the ASIO event loop.

Primary use case for this is updating the server state
of the game.
Implemented campaign::ScriptFile and campaign::ScriptFileManager

These classes represent an Ogre ResourceManager based approach
to managing AngelScript files. The scripts can be located anywhere
in the Ogre virtual filesystem, thus in campaign ZIP archives,
eliminating the need to write custom code for that.
Implemented campaign::ScriptEngine

A very thin layer around the AngelScript library, mostly
for preparing the script engine similarily for the client
and server without code duplication.

It loads scripts sources via the ScriptFileManager and implements
the ScriptBuilder Include-Callback. By this, the game scripts can
include files from the campaign, even if the campaign is ZIPed.
Implemented campaign::Manager

A general class storing information about the currently played campaign.

So far, it tries to find out where the campaign files are actualy located,
using both the current working directory as well as the CAMPAIGN_PATH
environment variable as hints.
Implemented campaign::ServerLogic

This class will dispatch RPCs to AngelScript and calls the necessary
AS routines to keep the game running on the server side.
Added campaign-subsystem into the build-chain
Dumb server implementation using the new campaign-subsystem

A very simple server, which initializes Ogre as far as needed
and the starts the campaign-subsystem. In theory, it is almost
enough to power a game, if the networking and object interfaces
were exported to AngelScript.
added .gitignore to keep an empty campaigns/directory
Added "test-campaign"

So far, it consists only of a completely useless AngelScript
called main.as. Though it is not playable in any way, it is
useful for testing the server implementation and as a basis
for further development.
Link campaigns directory into binary directory

A symbolic link is created post-build. Useful to start netsiege
inside the build-directory for testing purposes without setting
environment variables.