Pull description information from meta tags

Tries to extract a description from the page by looking at meta and og description tags
Add thumbnail to toggles when sites have them

Displays a small thumbnail above each toggle that comes from either og:image or twitter:image meta tags.
Restore old No description found message

When there is no meta tags, keep the old No Description found message
Replace illegal characters in username

When a user has an _ or any other non-alphanumeric characters in their nickname, Shout would fail to connect to some IRC servers. This replaces all non-alphanumeric characters in the nickname before sending it as the username.
Don't save when running in public mode
Listen to SIGHUP and reload users

Listens for a 'SIGHUP' signal and reloads users when it gets one. The signal won't be listened to if its running on Windows as a SIGHUP indicates a console window closing.
Refactored Autoload

Autoload now uses kernel events to watch files on disk. This greatly increases performance and reliability. Autoload will also watch user.json files for changes and reload the users data.
Merge pull request #231 from xeoncore/bug/save

Don't save when running in public mode
Merge pull request #230 from xeoncore/bug/illegalusernames

Replace illegal characters in username
Merge pull request #228 from xeoncore/ogimage

Pull in extra meta data for links
Merge pull request #232 from xeoncore/autoload

Refactored Autoload system