OTHER: Move more code into cli_infos from main.
OTHER: Split cli build into objects and executable.

The reason for this is to make it possible to write unittests
by simply adding 'use = xmmscli' to the test suite.
OTHER: Add a unittest for command_trie.
OTHER: Tweak valgrind flags for test execution.

Adds --num-callers=20 to catch more recursively deep problems, and
fills used/unused memory with easy to spot constants that may help
find memory corruptions.
OTHER: Fix leak in command_trie lookup.
OTHER: Rename command_context_t -> command_t.
OTHER: Rename cli_infos_t -> cli_context_t.
OTHER: Don't treat "no position" in playlist as an error.

current_id from the output object will return 0 if no song has been
initialized yet, so this change makes them behave the same way.
OTHER: Always handle playlist position as signed int.
OTHER: Use XMMS_CALL_CHAIN for playlist_length_get/currpos_get.
OTHER: Sort output of 'xmms2 server config'.
OTHER: For 'xmms2 add', if no position, assume append.
OTHER: Add test checks for playlist position on _replace.