Fix network session for Harmattan

The rpevious commit left the Harmattan version in a rather crippled state. This
patch fixed the breakage; the session trakcing works reasonably well again
(read: it can connect, it can ask for a session when disconnected, etc).

Roaming is not implemented yet.

v2: Fix build warning on GCC, thanks to Caspar for noticing.
Only open the session when needed
Reconnect when we're offline not by policy, but by necessity

This works surprisingly well even on Harmattan (at least when tested by manual
hopping between two different wlans, disconnecting from the system's menu, etc).