feat($plugins/nowplaying: Alias for lastfm plugin

Simply matches the "np" and then fowards the context to the last.fm plugin. Kinda, hacky
but it works!
docs($config.example.js): Use environment variables for opts

May make easier to start for n00bs :)
refactor($Bot): Load plugins at runtime instead of command-time

Breaking because now plugins are not hot-loaded. This will probably change.
chore($Bot): Improve logging throughout
fix($Bot): Allow handleMessage to resolve(null)

In the case that no plugin matches, therefore there is no response
style($Bot): Obey the lint
fix($Bot): undefined error

when `this.options.plugins` is not defined.
fix($Bot): Actually respond to requests
fix($Bot): Segregate requests

/ping vs /message means different params present
test($Bot): Test bot functionality
chore($gitignore): Ignore more
chore($npmignore): Add npmignore file
style($Bot): Do not use .js extension for require calls
feat($Brain): IT IS AAALLLIIIVVVEEE!
feat($Bot): Add $Brain
test($Brain): Add $Brain unit tests
feat($Bot): Add error logging when sendMessage promise fails
feat($Bot): More efficient plugin and message handling.

Find the matching plugin first, and then work with it.
fix($Bot): Plugins should be passed their db namespace not the entire instance
feat($plugins/last.fm): Add brain integration

Users can register to link their chat names with their Last.FM names.
Users can call nowplaying and the plugin will remember their lastfm username.