[WIP][RFC] Documents upload/download

ひと通り #57 に則るように実装してみました。
詳細な仕様を議論した後、specを書きます。

### `POST /api/documents'
`request json`
`class_year`は`ClassYear`モデルとは関係のない、単なる`int`です。
※documentsを登録するためだけに80期とかのモデルを作る必要はあまり無いため
```json
{
    "subject_id": 1,
    "user_id": 1,
    "class_year": 93,
    "document_type": 1,
    "number": 1,
    "with_answer": false,
    "note": "hoge"
}
```

`response json`
```json
{
    "id": 1,
    "subject_id": 1,
    "user_id": 1,
    "class_year": 93,
    "document_type": 1,
    "number": 1,
    "page": 1,
    "with_answer": false,
    "note": "hoge",
    "download_count": 0,
    "file_name": "dummy.pdf",
    "file_mime": "application/pdf",
    "created_at": "2014-12-28T13:19:46.621+09:00",
    "updated_at": "2014-12-28T13:19:46.621+09:00",
    "errors": {}
}
```

### `GET /api/documents/1/download_token`
`request json`無し
`response json`
```json
{
    "id": 1,
    "subject_id": 1,
    "user_id": 1,
    "class_year": 93,
    "document_type": 1,
    "number": 1,
    "page": 1,
    "with_answer": false,
    "note": "hoge",
    "download_count": 0,
    "file_name": "dummy.pdf",
    "file_mime": "application/pdf",
    "download_token": "624804dfafc445938e36",       ###
    "created_at": "2014-12-28T13:19:46.621+09:00",
    "updated_at": "2014-12-28T13:19:46.621+09:00",
    "errors": {}
}
```

### `GET /contents/documents/1?download_token=624804dfafc445938e36`
これがダウンロードURLになります
`response`：普通にファイルが送られてきます

### TODO
#57 では気づかなかったけど、エラー処理をいろいろやる必要があります。
* `/contents/hoge` => `404`
* `/contents/documents/1` (token missing) => `401`
* `/contents/documents/0` => `404`
`routes.rb`にどう書くのが正しいのか調査中

### Future
zipで一括ダウンロード機能を付けたいけど、このPRには含めません。