PluginList#unregister_plugins: If the array of plugins we're iterating over is the PluginList itself, iterate over a copy

If unregister_all calls unregister_plugins with the PluginList
instance, we end up iterating over an array that we're
modifiying (removing entries) during iteration , which leads to
skipping elements.

Closes gh-111
Merge branch 'maint'
bump version to 2.0.4
Merge branch 'maint'
Document the default plugin prefix in the Common Mistakes section
Document sending messages to arbitrary targets in Common Tasks
Fix: Reset own modes on (re)connect
Fix: do not record duplicate usermodes for bot
Merge pull request #116 from Elberet/master

Fix bugs in tracking bot's own user modes
add docstring for User#nick
make User#nick a method instead of an alias, to help YARD document it correctly
require cinch/helpers in cinch/plugin to allow requiring cinch/plugin directly
Fix a single character typo in one of the method comments
Have HandlerList#dispatch return an array of threads started by the event.
This allows plugins to wait for handler threads to complete, if desired.
Merge remote-tracking branch 'nickrw/master'

This extends the v2.x API to return created threads from Handler#call
and HandlerList#dispatch, useful for some lower-level usage of the
library.
fix on_away

typo in variable name
bump version to 2.0.5
Merge branch 'maint'
Fix: User.channels returns an empty array
Merge branch 'maint'