Tweak script load to be synchronous

Hubot script loading is normally synchronous, there's no need for the
asynchronous `fs.exists()` here. Making it synchronous preserves script
load order and allows it to work with the `--config-check` flag.
Log an error if HUBOT_SLACK_INCOMING_WEBHOOK isn't defined

We can't do anything without that config value. If it's not defined, log
an error and skip the setup.
Allow channels to start with #/@

Detect when the destination channel starts with # or @ and leave it
as-is.
Support data.icon_url

The `icon_url` field, if present, will take precedence over the
`icon_emoji` field.
Default the icon_url to the bot's icon

When posting attachments, if the icon_url and icon_emoji fields aren't
specified, and the username is the same as the bot, pull the image from
the bot's user object and use that.

This doesn't fix the post coming from "Hubot (bot)", but at least it has
the right icon.
Update README.md

Add an example of how to post attachments.
Merge pull request #1 from kballard/avatar-urls

Support for `icon_url`, improved boot process, configuration and channel management.