[api] Add `content-type`-based routing
[api] Add `content-type`-based routing

When route is set like that:

    router.post('/api/snapshot/:id', { accept: 'application/x-tar-gz' }, function () {
      // ...
    });

Only requests with `content-type` set to `application/x-tar-gz` will be
dispatched to it.

lzhengms/director,tanzhihang/director,fadeit/director,stonegithubs/director,stonegithubs/director,webx32/director,GerHobbelt/director,andradedev/director,lzhengms/director,kiritoe/director,tanzhihang/director,cpg1111/director,GerHobbelt/director,meleslilijing/director,pandoraui/director,vitalsource/director,pocketjoso/director,pocketjoso/director,sheldonzf/director,meleslilijing/director,vitalsource/director,pandoraui/director,mylikes/director,ks3dev/director,kiritoe/director,flatiron/director,webx32/director,andradedev/director,cpg1111/director,fadeit/director,ks3dev/director,mylikes/director,sheldonzf/director,maxogden/director