Add Gio:SocketSource, SignalSocket and Socket::create_source()

* .gitignore: Add !gio/giomm/socketsource.[cc|h].
* gio/giomm.h:
* gio/giomm/filelist.am: Add socketsource.h.
* gio/giomm/socketsource.[cc|h]: New files. SocketSource and SignalSocket.
* gio/src/socket.[ccg|hg]: Add create_source().
Remove many trailing blanks in socket.hg.
* glib/glibmm/main.[cc|h]: Add functions required when a class derived from
Source is defined in another file. Bug #725281.
examples/network: Use SocketSource and SignalSocket.

* examples/network/socket-client.cc: Use Gio::Socket::create_source().
* examples/network/socket-server.cc: Use Gio::signal_socket().connect().
Bug #725281.