Do not emit messages if storing them in the DB failed

If a message is not stored in the database, then some of its IDs
(networkId at least) will be invalid.  If this message is sent to
clients, it will cause a nameless empty buffer to appear in the
desktop client and will cause Quasseldroid to crash (of course.)
Better behavior would be to simply not emit the message, since it
can't be displayed properly anyway.
Quit on database connection failure

Previously, if a Quasselcore was configured to use PostgreSQL but
the PostgreSQL connection failed on startup, it would come up
unconfigured with SQLite.  This patch makes the Quasselcore quit
with a fatal error instead.
fix buffer sorting for hot buffer hotkey
Fixed CTCP Action Spliting

Previously /me would truncate if it was over the 512 character limit,
forming a malformed action as the last \01 character is cut off. Now the
CTCP Action should autosplit the same way that overflow on normal
messages does. Additionally the characters !? were added to the
splittable characters list, bringing the new list to " ,.-!?"
Updated Encode to not run additional times.

Fixed the issue of the message being encoded twice unnessesarily on
actions that did not require splitting.
Small optimization

No need to copy the list around.
Update ChangeLog
Bump version.inc for release

For the last time. Was nice knowing you.