Add option to use shlex.split with split_args_with on @botcmd

This is useful for plugin authors who need to accept multiple arguments
but have input that may contain spaces. This will allow the arguments to
be quoted just like on a unix shell.

This is also directly implemented now in the !room_topic and
!room_occupants commands, which prepares them for easy input of HipChat
room names (which may contain spaces).
Let split_args_with take a splitter object for argument parsing
Rename ArgSplitter -> ArgParser
Remove DeprecationWarning and allow any regular callable
Merge pull request #297 from zoni/shlex.split

Add option to use shlex.split with split_args_with on @botcmd