Merge pull request #298 from tannn/master

Update readme
Partial fix for issue #288.

- For registered users, the 'skip' command now stores the registered name
  of the user instead of the user's current nick
- Unregistered users still won't have tracking for 'skip' across different
  nicks
- Made skip() an 'onlyInChannel' command
- Partial refactoring of skip() method
- Small fix for kaosRemainingCommand
More code refactoring.

- Updated 'next' command to use 'onlyInChannel' wrapper parameter
- Partial refactoring of next() and skip()
Updated 'stop' command. (issue #299)

- 'stop' command only responds in-channel now
- Partial refactoring of stop()
Updated 'time' and 'repeat' commands. (issue #299)

- 'time' command now responds in PM as well
- 'repeat' command is now in-channel only
- Moved sanity checking from Game.repeatQuestion() to TriviaTime.repeat()
  and added an extra check to see if the game is currently running in the
  channel
Added Game.sendQuestion() method to clean up code.

- Eliminates code repetition in Game.nextQuestion() and
  Game.repeatQuestion()
Replaced bot messaging with irc.reply() for some methods.

- Replaced instances of irc.sendMessage() and irc.error() with irc.reply()
  in TriviaTime.stop(), TriviaTime.start(), TriviaTime.skip(),
  TriviaTime.repeat(), TriviaTime.next() and TriviaTime.time()
- Used the parameter 'prefixNick=False' in cases where the reply shouldn't
  include the caller's nick as a prefix
Modified some comments, refactored TriviaTime.stop().
Minor changes.

- Some minor refactoring
- Moved 'start' command's start message into the constructor of Game to
  ensure that messages are sent out in the right order
- Channel capability checks are now only performed if the 'start' command
  actually starts a new game
Updated sanity checking for TriviaTime.start().
Fix for 'clear/give/transferpoints' commands.

- Added channel parameter, required for the switch to 'triviaadmin'
  channel capability
- Not a fix for issue #300
Fixed TriviaTime.authweb().

- Replaced 'checkChannelCapability' with 'channel' from wrapper due to the
  existing (better) check within the method
Small change in TriviaTime.authweb().

- Set capability based on decreasing importance
Added custom capability checks. (issue #300)

- Added TriviaTime.isTriviaMod(), TriviaTime.isTriviaAdmin() and
  TriviaTime.getTriviaCapability() to allow better control over TriviaTime
  commands
- Updated TriviaTime.acceptdelete(), TriviaTime.acceptedit(),
  TriviaTime.acceptnew(), TriviaTime.add() and TriviaTime.authweb() to use
  the new capability checking methods
Updated TriviaAdmin-only commands. (issue #300)

- Updated TriviaTime.clearpoints(), TriviaTime.givepoints() and
  TriviaTime.transferpoints() with new capability checking methods
Updated TriviaMod-only commands. (issue #300)

- Updated TriviaMod-only commands with the new capability checking methods
Minor change in TriviaTime.add().

- Changed it back to the old way of user checking since it wasn't an issue
  (same case as TriviaTime.addfile() with owner)
Allow stats commands to be used in PM. (issue #299)

- Added an optional 'channel' parameter to all stats commands to allow
  usage in PM
- Affects TriviaTime.day(), TriviaTime.week(), TriviaTime.month(),
  TriviaTime.year(), TriviaTime.me(), TriviaTime.stats()
- Minor editing of message output for those commands
- Edited some command documentation
Partial fix for issue #295.

- Removed overriding of channel parameter in TriviaTime.givepoints() and
  TriviaTime.transferpoints()
Fix for issues #295, #300.

- Modified queries for Storage.removeUserLogs() and
  Storage.transferUserLogs() to use a channel parameter
- Transferring and clearing points are now channel-isolated