[wip] Avatars

Still a work in progress.

Status:

- [x] `GET /v1/avatar`
- [x] `GET /v1/avatars`
- [x] `POST /v1/avatar`
- [x] `POST /v1/avatar/upload`
- [x] image processing worker to resize images
    - [x] worker server
    - [x] computer cluster with gm
    - [x] upload to s3
- [x] put processed images on s3 public bucket
- [ ] domain for s3 public bucket
- [ ] fxa-dev integration
- [ ] docs
    - [x] docs/API.md
    - [ ] docs/DESIGN.md
- [ ] tests
    - [x] tests with img.local driver
    - [ ] tests with img.aws driver

fixes #29 
@rfk, we have `grunt-jscs` (style checker) and `grunt-contrib-jshint` running on this repo.
I pulled the branch locally, installed the deps and ran the linting tasks on my Yosemite+Node 0.11 home laptop.

For reasons unknown (to me) trying to call `resolve(name);` where `name` is undeclared is perfectly fine to JSHint.
Trying to hack around and see if it's using some magical higher up scope that I'm not aware of, but so far this hasn't been very fruitful:
```sh
$ node -e "console.log(global)"  | grep "name"
  __filename: '[eval]',
     filename: '/Users/peterdehaan/dev/github/fxa-profile-server/[eval]',
  __dirname: '.',
```

Oddly, if I change it from `name` to `name1` (or anything else), JSHint fails as expected and tells us that `name1` is undefined.