Terminal now recieves its exes from the server.

Funfun.
Merge branch 'terminal' into networking
Fix segfault when trying to cd or ls an empty dir.

Guiterminal checked ret[0], and the empty string, when exploded produces
an empty array. widget::string_explode is generally shaky and doesn't
seem to cope with the last part.
Moved widget::string_explode to utils/string_utils

in namespace sum::string_utils, which is included in include.hpp
Fix string_explode

Last part is no longer ignored, result is never empty anymore.
Make guiterminal swallow the last line if it's empty.
Add method to get ServerMessage.msg as vector.

Basically just a wrapper for explode, but handles SEP and all.
Add string_explode overload accepting multiple delims.
Add stringutils::to_unsigned function.
Summon expects well-formed arguments.
Guiterminal handles multiline server replies well.
Server now advertises tick length and step size.
Introducing puppet-templates (alias Summonable)

These are descriptors, templates, for summoned puppets, containing
essential values like maxhp, cost of movement, and so on.
Server now advertises valid summonables to clients.

Eventually clients should be able to send their summonables to the
server, but meh.
Some files can now be read (cat command)

It's kind of perverted (the terminal wasn't really prepared for this),
but it's rather fun. I wish we thought of this more, then we could make
pipes and everything (a la Software Tools).
Rework of file->executable inheritance. Add Echo.

Now it's file<-executable, executable<-server_executable,
executable<-print.

Echo is completely pointless.
Cat now trims its args; expose a bit of Terminal.
Ls, pwd and cd are now exe file in /bin.
Puppets are actually summoned in the world.

Uninspired work with lots of fail.
Summoned puppets registered in the interpreter.

And assigned the DEMO behaviour.

It has a whole lot of issues, and it was a bit painful (my fucking
awesome design of World bit me in the ass), but oh well.