Merge pull request #39 from HigherFive/nyaa

Fixing nyaa plugin not reporting seeders and leechers when detecting links
Adding !source alias for the !sauce command
Modifying youtube reports duration to hh:mm:ss format
Merge pull request #41 from HigherFive/yt

Modifying youtube reports duration to hh:mm:ss format
Merge pull request #40 from HigherFive/sauce

Adding !source alias for the !sauce command
Fix detection of multiple pixiv links

If multiple pixiv links were posted in the same message, only the last
one was detected since the regex was too greedy.
Refactor plugin system a bit again

* The plugin system now support hot-reloading for changed plugins
* save event got removed, instead there are now enable, disable, join
and part events, which are much better suited for a general use-case
* intervals got removed too, they should be implemented by the plugin
itself and cleaned up with the disable hook
Fix relative path
Replace all relative paths by absolute ones
Remove second part handler

The part event got handled twice and in the removed case even
incorrectly; i.e. it got raised if any other user /parted too.
Fix output of nyaa file sizes

The default setting for the filesize module includes conversion to bit
units.

Switched to humanize for more possiblities and saner default setting.
Disallow emoting oneself
Tweaking self-emote messages
Merge pull request #45 from HigherFive/emote

Tweaking self-emote messages
Adding waa.ai rehosting function to utils
Modifying sauce.js so that can provide its search to other plugins
Modifying searchSauceNao's cb's signature to include err argument
Modifying reddit post reports to include a shortened source link
Merge pull request #42 from HigherFive/waa.ai

Adding waa.ai url shortening util, modyifing sauce.js so that can provide its search to other plugins, making reddit.js post sauces
Fix reddit.js crash

Operator precedence is a really hard problem.