Refactor|Server|Client: Added ServerSystem, splitting sys_network between apps

The goal is that the client's sys_network contains client-only
functionality, while on the server, ServerSystem handles everything
and sys_network is entirely absent.

Work in progress…

Todo for later: Get rid of LegacyNetwork.
Refactor: Separating low-level networking, removing unnecessary code

The network is always available and initialized automatically.
Fixed|Server: ServerSystem init and shutdown

Presently ServerSystem is dependent on LegacyNetwork, so it must be
deleted before LegacyCore is deleted.
Refactor: Began cleaning up network subsystem headers
Client: Cleanup
Refactor|Server: Cleanup, removed N_TerminateNode()
libdeng2: Imported the Id class from Hawthorn

Unique 32-bit identifiers.
Refactor|Server: Removed use of LegacyNetwork, added RemoteUser

The RemoteUser class handles communication with a connected socket.
Server: Cleanup
Cleanup
libdeng2|Network: Added BlockPacket

Packet with a Block as payload.
Refactor|libshell: Added AbstractLink (based on Link)

An AbstractLink provides the basic mechanism for managing a connection
to a server. Derived classes must implement a protocol for interpreting
incoming messages.
Client: Cleanup
libdeng2|Observers: Added macro for notifying a public audience

Assumes that the DENG2_PIMPL() macro is being used.
libshell|Refactor|AbstractLink: Made virtual connection and disconnection methods
Client: Added ServerLink (derived from shell::AbstractLink)

ServerLink contains the functionality that sys_network + protocol used
to have: discovering servers on the network and managing the connection
to one of them server.

shell::ServerFinder was incorporated to automatically locate servers
on the local network. They are included in the list of found servers
automatically.

Todo for later: Revise the client GUI for connecting to a server
(when the new UI framework is up and running).
Refactor|Client: Took ServerLink into use

Todo: Drop LegacyNetwork.
Cleanup: Removed LegacyNetwork

LegacyNetwork was a transitional component designed to help migrate
the network code off SDL_net. Now that both the client and the server
directly use libdeng2 Sockets to communicate, there is no need for
LegacyNetwork any more.
Client|Fixed: ServerLink cannot be constructed before main()

It requires the existence of a de::App.
libdeng2: Moved the isHostLocal test to Address (from Socket)

A more suitable place for this test.