Feature/auto require aliases

Currently when you do something like:

```javascript
browserify: {
  "dist/mybundle.js": {
    src: "main.js",
    aliases: ["jquery:jquery-browserify"]
  }
}
```

...in order for `jquery-browserify` to actually be included in the build, you have to manually add it to the list of `requires`:

```javascript
browserify: {
  "dist/mybundle.js": {
    src: "main.js",
    aliases: ["jquery:jquery-browserify"],
    requires: ["jquery-browserify"]
  }
}
```

...else you get a hard-to-debug error at runtime.  This patch allows you to use the first configuration with no errors.

I also fixed some errors caused by changes in the Grunt API for version 0.4.  We should now be fully compatible (but not backwards compatible with Grunt 0.3.x).