Revert "core: Allow semi-colons in last argument to commands"

The patch doesn't fix the actual problem, so we need something
else instead.

This reverts commit 4df082f8e7019766b17b130941795ad832b27cb1.

Signed-off-by: Andreas Ericsson <ae@op5.se>
core: Fortify the external command API

Careless usage of the API could previously cause coredumps, since
we never checked if we got NULL pointers as arguments to various
functions. This patch fixes it, making sure careless broker modules
can't crash us through lack of error checking.

Signed-off-by: Andreas Ericsson <ae@op5.se>
core: Allow semi-colons in last argument for commands

To do this sanely (well, somewhat sanely), we rewrite most of the
argument parsing code.

It's worth noting that the only place where semicolons are allowed
as part of the last argument is if the last argument is a string
(such as a host or service comment).

This restores the behaviour to the way things were before the
command refactoring patches.

Signed-off-by: Andreas Ericsson <ae@op5.se>