A collection of changes, mainly based on removing duplicate string splits. There
may be some regressions because of this commit.

Hooker now gives a split-line to all plugins, which should hopefully make MegBot
faster in the long run :) Also, in some cases this means less string searching,
as certain elements always appears in the same position.

    $ python -m timeit -s "x=\"hello how are you? i'm well thank you\"" "x.split()"
    1000000 loops, best of 3: 0.761 usec per loop

    $ python -m timeit -s "x=['hello', 'how', 'are', 'you?', 'i\'m', 'well', 'thank', 'you']" "' '.join(x)"
    1000000 loops, best of 3: 0.353 usec per loop

    $ python -m timeit -s "x=['hello', 'how', 'are', 'you?', 'i\'m', 'well', 'thank', 'you']" "x[3]"
    10000000 loops, best of 3: 0.0618 usec per loop

Exceptions in the hooker now print the line that caused the error, this is a
quick fix until proper logging is done.

Help functions should now expect an Info object, not a line. Not that anyone
uses functions for plugin help :P
After many days of struggling to understand what these lines were meant to do
(as they clearly did nothing), I've decided to remove them.