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 #232 from xeoncore/autoload

Refactored Autoload system