[db] Fixes error where _get_column_creation_text does not properly accept columns as tuples when a key is defined.

Signed-off-by: Eldon McGuinness <eldon.mcguinness@gmail.com>
[db] Updated Table.__init__ to account for multiple columns that are defined as tuples.

Signed-off-by: Eldon McGuinness <eldon.mcguinness@gmail.com>
[DB] Fix for altering tables when columns are specified as tuples
[DB] Fixed WillieDB._sqlite to actually append found tables to self.tables

This should address issue #334

Signed-off-by: Eldon McGuinness <eldon.mcguinness@gmail.com>
[coretasks] Gracefully handle removing user from bot.privileges

If a user is not in the dict, a KeyError could occur throwing a nasty
error into the room.wq
[bot] Added trigger.is_privmsg flag

This flag will make it easier to determine in a message is from a private message or otherwise.

Signed-off-by: Eldon McGuinness <eldon.mcguinness@gmail.com>
[module] Added Decorator 'require-privmsg' to allow commands to be specified as only available via PM (Private Message)

Signed-off-by: Eldon McGuinness <eldon.mcguinness@gmail.com>
Merge pull request #383 from EldonMcGuinness/db-create-table-errors-on-column-tuples

[DB] SQLite and Tuple Column related errors
Merge pull request #386 from cerealcable/master

Gracefully handle removing user from priv cache
Merge pull request #391 from EldonMcGuinness/add-trigger.is_privmsg

[bot] Added trigger.is_privmsg flag
Merge pull request #390 from EldonMcGuinness/add-require_privmsg-decorator

[bot][module] Added Decorator 'require-privmsg' to allow commands to be specified as only available via PM (Private Message)
[module] Fix hiding of attributes when wrapping a function.

Fixes #390.
[bot] This addresses and issues that arises when origin.sender is None

Signed-off-by: Eldon McGuinness <eldon.mcguinness@gmail.com>
Merge pull request #392 from EldonMcGuinness/bot-fix-for-empty-send-and-pm-check

[bot] This addresses and issues that arises when origin.sender is None